home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Complete Windows Set
/
The Complete Windows Set.iso
/
PARITY
/
MANUAL.TXT
< prev
next >
Wrap
Text File
|
1993-01-04
|
187KB
|
3,498 lines
Parity
Technical Analysis System
Version 1.3
User's Guide
Copyright c 1991, 1992, 1993 Paul Rickert. All Rights Reserved.
The software described in this document is provided under the terms of
a license Agreement. Please read it carefully. The software may be
used or copied only upon acceptance and in accordance with the terms
of this agreement. Unauthorized use, duplication, distribution, or
disassembly is strictly prohibited by federal law.
Parity, Parity Plus and The Display Matrix are trademarks of ParTech
Software Systems.
IBM is a registered trademark of International Business Machines,
Inc.
Lotus and 1-2-3 are registered trademarks of Lotus Development
Corporation.
Microsoft is a registered trademark and Windows is a trademark of
Microsoft Corporation.
MetaStock, The Technician, and The Downloader are trademarks of EQUIS
International.
CompuTrac is a trademark of Compu Trac Software Inc.
ParTech Software Systems
Two Bryant Street, Suite 200
San Francisco, CA 94105
Tel: (415) 546-9316
Fax: (415) 546-9319
Printed in the United States of America
Table Of Contents
Part 1 Introduction 1
What Is Parity? 2
Parity and Shareware 2
About Parity Plus 3
Installing Parity 3
Price Data 6
Part 2 Basic Concepts 7
Charts 7
Groups 7
Studies 8
Batches 9
Clusters 9
The Display Matrixä 10
Part 3 The Tool Bar 13
The Tool Bar 13
Moveable Versus Fixed Tool Bar 13
Action Tools 13
Display Tools 14
Menu Shortcut Tools 15
Window Management Tools 15
Part 4 Menu Commands 17
File Menu 17
Edit Menu 17
Groups Menu 18
Load a Security 18
Create or Modify Group 20
Select a Group 21
Reorder a Group 23
Save All Groups 23
Delete Groups 23
Display Group or Security 24
Import Other Formats 24
Studies Menu 27
Study Commands 27
Batch Commands 27
Create/Modify Current Study 28
Formula Editor 29
Pane Layout Editor 31
Color Editor 33
Options Editor 33
Select a Study 35
Save All Studies 35
Delete Study 35
Display Current Study 35
Batch Studies 36
Select a Batch 36
Reorder Batch 36
Save All Batches 37
Delete Batch 37
Clusters Menu 37
Make a Cluster 38
Select a Cluster 38
Save All Clusters 38
Delete Cluster 39
Display Current Cluster 39
Pointer Menu 39
Options Menu 40
Window Menu 41
Help Menu 42
Part 5 Indicators & Chart Procedures 43
Technical Indicators 43
List of Predefined Technical Indicators 44
Bibliography of Technical Analysis Texts 46
MetaStock Function Compatibility 46
Procedures vs. Functions 47
Chart Procedures 48
Point and Figure Charts 49
The Point and Figure Procedures 50
Adding Lines to a Chart 52
Part 6 Formulas, Operators & Functions 57
Formulas 57
Arrays versus Scalars 58
Predefined Variables 60
Operators, Parenthesis and Mathematical Precedence 62
Arithmetic Operators 62
Comparison Operators 62
Logical Operators 63
Trigonometric Functions 63
Exponential Functions 64
Rounding Functions 64
Array Related Functions 64
Statistical Functions 65
Part 7 File Formats Supported 67
The MetaStock/CompuTrac Format 67
ChartPro File Format 68
Comma Separated ASCII Files 68
Part 8 Odds and Ends 71
Printing Charts 71
Windows 3.0 System Resources 72
System Requirements and Execution Speed 73
Problems and Solutions 74
The Hour Glass Cursor 74
Incomplete Charts and System Resources 75
Appendix 77
Data Vendors 77
Other Resources 78
Part 1 Introduction
Welcome to the Parity Technical Analysis System. This User's Guide is
a comprehensive guide to all of the features and procedures offered by
the Parity software. Most of the text of this manual is also
available through Parity's on-line Help files. You can access
Parity's help at any time by pressing F1 or by clicking on the Help
button on most of Parity's forms and dialog boxes.
We strongly recommend that you read the Basic Concepts and The Tool
Bar sections of the manual and follow the brief tutorial described in
the "Getting a Head Start" section of the READ_1ST.TXT file included in
your Parity Installation Disk. This should give you enough of an
overview to permit you to quickly become productive using Parity.
The Menu Command sections are a reference to all the commands that are
available from Parity's Menu Bar. You will benefit from a careful
reading of the Create/Modify Current Study section and the detailed
description of each of the Study Editors which follows.
More advanced users should skim through the Indicators and Chart
Procedures section to get a sense of the full range of tools Parity
gives you for creating charts incorporating a wide variety of
technical indicators and chart types. The Technical Indicators
section also includes a bibliography for the best technical analysis
books we have found. We strongly recommend John Murphy's "Technical
Analysis of the Futures Market" for a beginning text, and Perry
Kaufman's "The New Commodity Trading Systems and Methods" for a
comprehensive overview of technical analysis. Despite their titles
these books are excellent for the analysis of stocks as well as
commodities.
Part 6, Formulas, Operators and Functions, is designed as a reference
guide to the various functions and operators which are available to
you when you want to chart your own formulas and indicators. This
section assumes a fair amount of knowledge about standard math and
computer notations and conventions. You will probably want to ignore
this part of the manual until you are ready to start creating formulas
which express your own ideas about the best ways to analyze price
data.
Part 7, File Formats Supported, discusses the three data file formats
that Parity supports directly and provides some tips about the merits
of each.
Part 8, Odds and Ends, includes some general comments about Parity and
Windows 3.0 and the idiosyncrasies of both.
As you use Parity please remember that when you make a mistake in a
formula you are trying to chart, Parity will seem to "freeze up" and
the mouse cursor will be locked into an hour glass shape. Just hit
the up arrow key and you can proceed normally. Occasionally an error
may occur when you have a form or dialog box open. Normally you can
recover by pressing the up arrow key and closing the dialog box by
double clicking on the control menu box in the upper left hand corner
of the dialog box window. This may indicate a bug in the program and
we would appreciate it if you would report it to us.
What Is Parity?
Parity is a Stock Charting and Technical Analysis Program designed to
take full advantage of the Windows Graphical User Interface. The
program permits the user to design sophisticated charts of stock price
data using a wide range of technical indicators and tools.
Parity's charting capabilities permit you to graph a security's price,
volume and up to nine indicators in a single chart using any
combination of stacked or overlapping panes, each of which can include
one or more indicators.
Parity incorporates traditional Open, High, Low, Close charts, Line
and Bar charts, Japanese Candlestick charts, Point and Figure charts,
Equivolume charts, Horizontal Bar charts, and a Price at Volume chart
which is similar to The Crocker Chartc.
The program includes over 40 of the most popular predefined indicators
plus a wide range of math and statistical functions. These indicators
and functions can be combined in user defined formulas.
The most innovative aspect of Parity is its unique use of Groups of
Stocks, Batches of Studies, and Clusters of Charts in order to
simplify the analysis of a large number of securities at one time.
In order to manage the profusion of sophisticated charts you can
design with Parity, virtually all of its settings can be saved to disk
and recalled for another Technical Analysis Session.
In addition, Parity provides a graphical Display Matrix that permits
the user to easily jump from stock to stock and study to study.
Parity has no intrinsic limit on the number of charts you can create,
although Windows' limited System Resources restrict the number of
charts that can be displayed at one time.
Parity and Shareware
Parity is distributed as Shareware. Parity is not free or public
domain software. Shareware permits you to try Parity before you buy
the software. However if you continue to use Parity you must Register
the software by paying the current licensing fee.
Shareware provides a good channel for a software vendor to distribute
its products without incurring the high marketing costs involved in
normal commercial distribution of software. These cost savings are
passed onto the user through the lower cost of Parity compared to
other "commercial" technical analysis programs. Our goal is to make
Parity the finest technical analysis program you can buy anywhere.
In addition to the ability to "try before you buy", Shareware also
permits us to make more frequent updates to Parity than would be
possible with retail software. The most recent version of Parity will
always be available on the INVFORUM of CompuServe. We will also send
you the most current version of Parity if you send us your credit card
number or a check for $5 to cover the cost of shipping and handling.
Feel free to "share" the evaluation version of Parity as long as you
follow the guidelines in the LICENSE.TXT file included with the
program. However, you may not share the registered version of Parity
or any copies of this manual. Under no circumstances may you give a
copy of the REGISTER.DAT file to any other user.
About Parity Plus
Parity Plus is the Enhanced Retail Version (ERV) of Parity. Parity
Plus is only available directly from ParTech Software Systems or our
designated distributors. In addition to all of the great features of
the shareware version, Parity Plus includes advanced features such as
Profit Testing, Optimization, Stock Filtering and Scanning, Cycle
Analysis, Data and File Maintenance, and Data Conversion.
Registered users of Parity will be able to upgrade to Parity Plus at
any time by paying the difference between the current price of Parity
Plus and their registration fee for Parity.
Installing Parity
The complete Parity program consists of several types of files which
are listed in the PACKING.LST file included with the program.
Initial Installation
If you are installing Parity from compressed ZIP files which you have
downloaded or purchased from a disk vendor:
1 Copy the *.ZIP files to a directory on your hard disk. Unzip the
files using PKUNZIP or ARCE or LHA depending on the compression
used. Do not copy the files to the \Parity directory since this
is normally where you will want the program installed to.
2 Start Windows. From the Program Manager Click on the File Menu
and select Run. Type in the drive and directory where you
unzipped the files followed by INSTALL.EXE, i.e.,
C:\TEMP\INSTALL.EXE.
3 Parity will automatically install itself. If this is a first
time installation you should let Parity install the sample data
files and the sample configuration files. If this is not a first
time install uncheck these options to avoid overwriting any files
you have created.
YOU MAY NOT INSTALL PARITY TO THE SAME DIRECTORY AS THE UNZIPPED FILES
YOU ARE INSTALLING.
If you are installing Parity from uncompressed files on a single high
density floppy diskette:
1 Start Windows and insert the diskette in drive A or B.
2 From the File Menu of the Program Manager select Run. Type in
the floppy diskette drive and INSTALL.EXE, i.e. A:INSTALL.EXE.
3 Parity will automatically install itself. If this is a first
time installation you should let Parity install the sample data
files and the sample configuration files. If this is not a first
time install uncheck these options to avoid overwriting any files
you have created.
If you are installing the registered version of Parity also copy the
REGISTER.DAT file to your Parity directory by clicking ont the Copy
REGISTER.DAT check box. The Installation Program will not do this
automatically unless you click on the check box.
Parity's installation routine will automatically create a RLZRUN10
directory under your Windows directory and a C:\PARITY directory by
default. It will not modify your WIN.INI, AUTOEXEC.BAT or CONFIG.SYS
files in any way.
Subsequent Installations
If you are installing an upgraded version of Parity follow the
appropriate installation procedure as outlined above. However it is
very important that in step 3 you uncheck the Sample Data Files and
Sample Configuration Files options before you proceed with the
installation. If you don't do this you may overwrite the *.DAT files
which contain the definitions of the Studies, Groups, Batches and
Clusters etc. that you have created. We suggest you make backup
copies of these *.DAT files regularly.
Always check for a READ_1ST.TXT file with more up-to-date installation
instructions.
Price Data
Parity is compatible with 5 or 7 field MetaStock/CompuTrac data files,
ChartPro/MegaTech data files, and Comma Separated ASCII files.
Daily, weekly and monthly data in these formats are widely available
from various on-line and data disk services.
Parity also permits you to import price data from Excel 2.1 and 3.0
files, Lotus 123 WKS files, Comma Separated Value text files and Tab
Separated Value text files. Data from these file formats cannot be
included in the definition of a Group but can be charted in the same
fashion that Load a Security permits you to chart a single stock. See
Import Other Formats for more information.
Parity does not include any utilities for downloading or maintaining
price data files. The Parity Plus version of the program does include
data and file maintenance utilities, as well as an excellent data
conversion command. A number of commercial and shareware programs
permit you to download and automatically update your data files. An
excellent program for updating MetaStock or ChartPro data files from
ASCII text files of price data is the Personal Ticker Tape (PTT).
PTT is shareware and the most recent version is always available by
calling the FlexSoft BBS at (510) 829-2293.
Part 2 Basic Concepts
The Basic Concepts section of the User Guide explains some of the more
innovative terms and concepts which give Parity its power. Like most
technical analysis programs, Parity permits you to chart a single
stock with a single indicator. However, the real usefulness of Parity
comes from its unique ability to chart "Groups" of stocks using
predefined "Studies" which include multiple indicators and very
flexible chart formats. These features are summarized below.
Charts
A price chart created by Parity has many different components, most of
which are defined by the user in a Study.
Every chart includes one or more panes. A Pane is an area of the
chart where you can plot price or indicator data. A pane can include
up to 11 different data arrays including stock prices and trading
volume. Parity permits you to define up to 11 individual panes.
Panes are "transparent". They can be stacked or overlaid and their
size can be set relative to other panes and the size of the total
chart. Any number of panes can be overlaid and each overlaying pane
maintains its own scale. A pane's scale can be displayed on the left
axis, the right axis or not displayed at all.
Stacked panes can be separated in order to show the end values of the
scales more clearly. By default a pane will be separated by 5% of the
total chart size.
Each pane has its own vertical and horizontal grid that can be
displayed or hidden.
Individual indicators within a pane can have a label defined by the
user that displays in the same color as the indicator.
The user can set a title for the chart that automatically includes the
Security Name and the Study Name used to create the chart. This title
is displayed in the chart window's Title Bar and can also be added to
the top of the chart itself.
The user can also control the number of days between tick marks on the
X axis.
You can use the tools in the Tool Bar and the Pointer Menu to draw
various types of lines in a chart, zoom in on the data, and add text
anywhere in the chart.
Groups
While Parity can load price data for a single security at a time, a
powerful feature of the program is its ability to define a Group of
securities that can be displayed in any sequence using the Display
Tools.
A Group is a list of security price data files, in any supported
format, located in any directory, on any disk. You might prefer to
think of a Group as a portfolio of stocks or a list of ticker symbols.
Parity permits you to mix data files in different directories, in
different formats, and of different sizes within a single Group.
Parity stores all of the information necessary to locate and import a
data file in the Group definition. Since a single Group can only
contain 64KB of characters the maximum number of securities in a group
depends on the size of the data file's path. Even with a long path a
Group will hold about 900 securites and if all your files were in the
root directory you could create a group with as many as 1800
securities.
The User can define an unlimited number of Groups, each of which has a
unique name with up to 16 characters.
Group definitions can be edited, reordered and deleted at any time.
All defined Groups can be saved to disk for reuse in subsequent
sessions. Group definitions are stored in the GROUPS.DAT file in the
Parity directory on your disk.
Visually, the securities in a Group define the vertical axis of the
Display Matrix.
Studies
A Study defines how Parity will chart an individual security,
regardless of which security is chosen.
Parity permits the user to define the following aspects of a chart.
How the price data is displayed, i.e., HLC bar chart or Japanese
candlestick chart.
Where and whether volume is displayed.
What indicators and formulas are plotted on the chart and where.
How individual panes are stacked and overlapped and what their
relative sizes are.
Whether to set a pane's scale to Maximize Y Axis, or Optimize Scale
Labels.
Which side of the Y axis scale labels are displayed on.
What colors to use for the chart.
What labels to use for each data array plotted.
The number of days between ticks on the X axis.
How to label the chart with the Security Name and/or the Study
Name.
Whether to include the chart title at the top of the chart as well
as in the title bar of the chart window.
A Study is defined using the Create/Modify Current Study selection in
the Studies Menu. Each Study can have up to a 16 character name and
all Studies can be saved to disk for subsequent sessions.
Batches
A Batch is analogous to a Group of stocks. However, instead of
defining which stocks will be displayed, a batch defines a list of
studies that will be displayed.
The concept of a "Batch of Studies" is a novel idea. Unlike other
stock charting programs, Parity permits you to define an unlimited
number of studies. One study might just show a Candlestick chart of a
stock with some moving averages. Another study might plot all of the
components of Welles Wilder's Directional Movement Index. A third
study might only show volume related indicators, while a fourth study
might include oscillators like MACD, Chaiken's Oscillator or
Stochastics.
Parity permits you to define a Batch of any or all of these studies.
When you select a Batch, Parity displays each of these studies in
sequence on a single security or each stock in a Group.
Selecting a Group of stocks and a Batch of studies creates a two-
dimensional Display Matrix, where the stocks form the vertical axis
and the Studies make up the horizontal axis. It may help to think of
the Display Matrix as a graphical spreadsheet with individual stocks
as the rows and studies as the columns. Each cell of the
"spreadsheet" is potentially a chart.
Depending on the Display Tool you select, you can move through the
Display Matrix vertically - looking at the same study on dozens of
different stocks, or horizontally - looking at multiple studies on a
single stock. By selecting a different display tool you can
instantaneously change direction.
Clusters
A Cluster defines the screen configuration for displaying multiple
Studies at one time. Like a Batch, a Cluster is a list of individual
Studies. However, a Cluster displays all of the Studies at once in
your predefined screen layout.
You can use a Cluster with a Group of stocks, or when you load
individual securities. Use the forward and reverse display tools to
display the Cluster for each security in the Group.
To define a Cluster, first arrange charts of each of the Studies you
want to include in the Cluster on the screen. Make sure that each
chart is positioned and sized the way you want it reproduced when you
display the Cluster. Then select the Make a Cluster menu item and
enter a name for the Cluster. Note that Parity automatically excludes
any "UNNAMED" or "DEFAULT" studies from a Cluster.
You can save the definition of all of your Clusters to disk for reuse
in subsequent sessions. Parity creates a CLUSTERS.DAT file in its
directory that is automatically loaded the next time you start the
program.
Since all the charts in a Cluster are erased when you move up or down
in a Group, the Fast Forward and Fast Reverse tools are meaningless
and are disabled.
The Display Matrix
Parity offers the user the possibility of creating dozens of types of
charts on hundreds of individual securities through the use of its
Group and Batch features. In order to manage this potential
complexity we created an intuitive and easy to use tool we call the
Display Matrix.
The Display Matrix Concept
Conceptually, the Display Matrix is a two dimensional array of all the
charts you could create from the individual stocks in a group combined
with the individual studies in a batch.
It is easiest to think of this two dimensional array (the "matrix") as
being similar to a spreadsheet. Each cell of the spreadsheet
corresponds to a chart.
The rows of the spreadsheet are the price data for each security in
the group. The columns of the spreadsheet are the studies that are
used to plot that price data. The intersection of each row and
column, i.e., the cell, corresponds to a unique chart created by
combining the price data for the security in that row, with the
definition of the study in that column.
Unlike a spreadsheet, most of the charts/cells in the Display Matrix
aren't displayed. Even more importantly, only one chart at a time is
"current" in the sense that you can retrieve numeric data from it.
What Do We Mean by "Current"?
At any given time Parity can only have one of each type of "thing" in
memory. By "thing" we mean the data from one stock, the settings from
one study, and the definition of one group and one batch. So, for
example, when we talk about the current group we mean that one group
whose list of securities is currently available to define the vertical
axis of the Display Matrix.
The only time that having just one of each type of thing in memory
limits us is when we want to use the Data Microscope on a chart to see
the numbers behind the scene. Then we are limited to the "current"
chart, i.e., the one for which Parity still has the price data and
study settings stored in memory.
The Display Matrix Tool
Parity's Display Tools visually correspond to the conceptual display
matrix. When you move from one stock to another, you are moving up
and down the vertical group axis of the spreadsheet. When you move
from one study to another you move left and right along the horizontal
axis of the spreadsheet. When you select a Display Tool, you tell
Parity how to interpret the Forward and Reverse tools, when it creates
new charts.
With the Display Matrix Tool you can position yourself anywhere within
the Display Matrix. Your current location is shown by the
intersection of the current study and the current security. By
clicking on any cell in the matrix you can immediately reposition the
current study and current security. You can select from the drop down
list boxes to do the same thing. The Display Matrix Tool doesn't
affect the display state you selected by clicking on one of the
display tools, it simply repositions you within the matrix.
Part 3 The Tool Bar
The Tool Bar
The Tool Bar incorporates most of the tools that are used to display
and manipulate charts after you have selected whatever Stocks, Groups,
Studies, Batches or Clusters you want displayed. Several less
frequently used tools can be accessed through the Pointer Menu.
Moveable Versus Fixed Tool Bar
By default, the Tool Bar is in a fixed position on the right side of
the screen. The Tool Bar can be set to be moveable with the Moveable
Tool Bar command on the Options Menu.
You can also use the Moveable Tool Bar and Fixed Tool Bar commands to
recreate the Tool Bar if it gets mispositioned. This can happen when
you have a fixed tool bar and have moved charts off the screen and
then do a Window Cascade or Window Tile command.
Normally, though, the Tool Bar is simply hidden under a chart. You
can bring the Tool Bar forward by clicking in a chart or selecting
TBar in the Window Menu. To hide the Tool Bar behind a chart, click
in the chart's title bar.
Action Tools
Click on the tool and then click on the chart you want to act on.
These tools are "sticky" and stay active until you select another
action tool or click on the Pointer Tool. The Pointer Menu includes a
selection of some less frequently used action tools.
Tool Description
Print Tool Prints selected chart. Since the Print Tool
gives you much greater control over the printing
of a chart you should always use it in preference
to the File Print command. See Printing Charts.
Trash Can Tool Closes selected chart or all open charts.
Data Microscope Displays price and indicator data for the most
recently created chart and can print the data or
export it to an Excel, Lotus 123, or text file.
Pointer Tool Resets other action tools and goes to a neutral
pointer mode.
Text Tool Used to draw text on a chart.
1:1 Magnifying Glass Restores chart to fully expanded state.
+ Magnifying Glass Zooms in on a chart to focus more closely on
a date range. Each use expands the chart to
roughly 1/3 its previous data range.
- Magnifying Glass Opposite of + Magnifying Glass
Vertical Line Tool Draws a vertical line the entire height of
the chart wherever you click.
Horizontal Line Tool Draws a horizontal line the entire length of
the chart wherever you click..
Limited Line Tool Draws a line between any two points you
click on.
Extended Line Tool Draws a line defined by any two points and
extending to the chart boundaries.
Display Tools
Used to select the Display State and Direction used to move through
the Display Matrix.
Display Matrix Tool Shows a graphical depiction of the
Display Matrix and the Current Chart's
position in it. By clicking on the grid of
the Display Matrix or selecting from the drop
down list boxes you can reposition yourself
anywhere within the Display Matrix.
Forward & Reverse Tools Used to move through the Display
Matrix in the direction indicated by the
Display State tools. If the next chart in the
direction already exists these tools will
bring it to the front. Otherwise the next
chart is created from scratch.
Fast Forward & Reverse Used to create multiple charts at a time.
Clicking on one of these tools causes Parity
to create the maximum number of charts in the
current direction. The number of charts was
defined when you selected the current group.
Display Group Tool This sets the display state to vertical
movement between securities in a group. It
causes the current graph in the Display Matrix
to be created if it isn't already displayed.
Display Batch Tool This sets the display state to horizontal
movement between studies in a batch. It
causes the current graph in the Display Matrix
to be created if it isn't already displayed.
Display Group on Batch This sets the display state to move
through the Display Matrix showing all the
studies in a batch for a security in a group
before moving up or down to the next security
in the group.
Display Batch on Group This sets the display state to move
through the Display Matrix showing all the
securities in a group before moving left or
right to the next study in a batch.
Menu Shortcut Tools
The Menu Shortcut Tools provide the same functionality as the most
commonly used menu commands for loading a security, selecting a group,
editing a study, and selecting a batch. These commands also have
function key shortcuts. See the Menu Commands section of this manual
for more detail on these commands. By default Parity creates a new
chart after you use these tools. To disable the automatic charting
use the Chart Preferences command on the Options menu to set your
display preferences.
Load a Security
Select a Group
Create/Modify Current Study
Select a Batch
Window Management Tools
The Window Management Tools provide the same functionality as the
Window Menu Cascade and Tile commands.
Tile Windows Works exactly like the Window Menu Tile
selection; it tiles all the displayed charts.
Cascade Windows Works exactly like the Window Menu Cascade
selection; it cascades all the displayed charts.
Part 4 Menu Commands
This section of the User's Guide reviews all of the Menu Commands that
are available in Parity. Most of the Tool Bar tools do not have any
equivalent functionality from the Menu or the Keyboard.
File Menu
The File Menu has relatively limited functionality in Parity since no
files are "opened" in the traditional Windows sense. Instead use the
appropriate commands in the Groups, Studies, and Clusters menus to
select the items you want to chart.
Close Will close the currently selected chart. Generally
it will be easier to close a chart by double
clicking on the Control-Menu box or using the trash
can tool.
Save As Can only be used to save the contents of the Print
Log to a file. You must save studies, groups,
batches, and clusters using their respective Save
All commands.
Print Will print the currently selected chart using
default settings. Generally you should use the
Printer Tool instead. See Printing Charts.
Printer Setup Standard Windows 3.x Printer Setup dialog.
Exit Exits Parity. If you have any unsaved groups,
batches, studies, or clusters Parity will ask if you
want to save them.
Edit Menu
The Edit Menu provides the standard Edit functionality common to most
Windows 3.x applications and they will not be discussed here. Most of
these selections will be disabled except when you enter text in a
dialog box or use the print log.
Copy Window The Copy Window menu item will copy the currently
selected chart to the Clipboard. You can paste the
chart into most word processors or into a paintbrush
program. If you hold down the shift key while you
issue this command the title bar of the window will
also be copied to the clipboard.
Groups Menu
The Groups Menu provides all of the commands to load one security, or
to create, select and modify a Group of securities.
Load a Security
The Load a Security command permits you to select and load a single
security for charting using the current study. Loading a security
overwrites the current group if one had been selected.
This command consists of two dialog boxes:
Open a File for Charting
This dialog permits you to select a security by symbol or name for
loading. Parity will display all the files in the directory you have
chosen which match the file format criteria. If the file format
permits it, the file will be displayed with additional information
such as company name and data period. To select a security for
loading, highlight the security and click OK or double click on the
security.
Change directories by double clicking on the directory you wish to
change to in the directories list box.
Parity supports three different data file formats, 5 or 7 field
MetaStock/CompuTrac files, 7 field ChartPro/MegaTech files, and Comma
Separated ASCII files. You can select which file format to use by
clicking on the appropriate radio button. The Available Securities
list box will be automatically updated to show the securities with
that format in the directory you selected. To save your file
preferences from session to session, use the Directory and File
Preferences command on the Options Menu. For more information on
these formats, see the File Formats Supported section.
To quickly move to a particular security, just select any security
with a single click of the mouse and then type the first letter of the
file or security name. If no file starts with that letter nothing
will happen, otherwise you will move to the first file starting with
that letter. This is standard Windows 3.x functionality and you can
use this method with any list box.
Range of Data to Load
This dialog permits you to select which data records in a file will be
loaded. The range of records to load can be specified in two ways:
This dialog permits you to select which data records in a file will be
loaded. You can also set the chart size to be maximized within the
"working" screen area. If you manually maximize a chart by clicking
on its maximize icon it will "snap" back to its default size whenver
another form, chart or window is opened over it.
You can specify the number of blank periods that you want added to the
right of the chart by entering a positive number in the "Blanks Added
to the Right of Chart" box. This is useful if you want to draw
extended trendlines into the future.
The range of records to load can be specified in several ways.
Absolute Record Number Specify the number of the record in the file.
The First Record is the oldest record to be loaded
and has to be an integer greater than or equal to 1.
The Last Record is the most recent record to be
loaded and must be an integer greater than the first
record and less than or equal to the total number of
records. By default, Parity will load all of the
records in the data file. There is no limit on the
number of records you can load.
Relative Record Position Permits you to select a range of records
to load relative to the most recent record in the
file (the Last Record). Indicate relative record
positions by using negative numbers that count back
X records from the last record. If you enter a
relative record position for the first record, e.g.,
-100, Parity will set the Last Record to 0. In this
example a total of 101 records will be loaded
starting with the most recent record and counting
back 100 records. Hitting enter after inputting a
relative record position in the First Record field
will execute the dialog box.
Absolute Date Range Enter the dates you want to load data for.
Dates must be formatted as MM/DD/YY or YYMMDD. When
you enter a date for the first record, Parity will
automatically set the last record to the last date
in the file. You may not mix dates and record
numbers or relative record positions.
Compression Parity gives you two options you can use to
"compress" your data files into weekly or monthly
formats. If you select the "True Weekly" option,
Parity will use the highest and lowest values, the
total volume, and Friday's closing price to create
its weekly data. The "True Monthly" option works in
the same way. The first and last data points may be
partial weeks if a full weeks data doesn't exist.
Create or Modify Group
The Create or Modify Group command defines a new group or modifies the
contents of an existing group. A group is a list of securities in any
of the supported data formats, located anywhere on your disks. The
actual number of securities a group can contain depends primarily on
the length of the path of the data files, and for MetaStock files the
lengths of the symbol and name of each security. The total size of a
group is 64KB of characters. On average each entry for a data file in
the root directory will be 35-40 characters so the largest possible
group is 1600 to 1800 securities. However, if your data files have a
very long path, for example, C:\PARITY\DATAFILE\STOCKS\CONSUMER then
the maximum size of your groups will be only 900-1000 securities. You
can define any number of groups.
Groups This box lists all of the defined groups currently
in memory. Double clicking on a group will add all
of the securities in that group to the Securities in
Group list. To modify an existing group double
click on its name to add its stocks to the
Securities in Group list. Make any modifications
you want and save it under the same name.
Securities in Group This box lists all of the securities you have
selected to be in the group. Add securities by
double clicking on an available security or an
entire group. To delete securities from the group,
double click on the security in the group.
Available Securities Lists all the securities of the specified data
type that are available in the selected directory.
Double click on any available security to add it to
the group. Type the first letter of a security to
search the list for it.
Add All Securities Clicking on this button will cause all the
securities in the available securities list box to
be added to the group.
Directories Lists all the directories on your disk. To move
around the directory tree simply double click on the
directories or drives that are listed. The
Available Securities list will be updated for the
directory you select.
New Group Enter the name of the group you are creating or
modifying in this text box. The name can contain 16
significant characters including A-Z, a-z, 0-9, %,
_, $, !, and %. Names cannot begin with a number
and are not case sensitive.
Double Click Action Selects the effect of double clicking in the
list boxes. By default double clicking will add or
remove securities from the Securities in Group list.
Selecting Show Details will cause double clicking on
a security to list any available details on the data
file. ChartPro data formats contain very little
information on the underlying security.
File Format Selects the data file format Parity looks for in the
selected directory. Only files from one data format
at a time can be displayed in the Available
Securities list. Note that you can mix files of any
format in a group.
Sort Available Securities By default Parity sorts the Available
Securities list by symbols. You can also sort
certain file formats by name. This option is
disabled for ChartPro and ASCII files.
Create Group Button Clicking Create Group will save the list of
securities in the group to the group name you
entered in the New Group text box. If you didn't
enter a name Parity will prompt you for one. To
make the group you created the current group you
must use the Select a Group command.
Select a Group
Use the Select a Group command to select the group of securities which
you want to be able to display.
Select a Group Dialog Box
The Select a Group command lists all the groups and allows you to
select the group you want to become the current group by double
clicking on the group's name. After you select a group, a second
dialog box will appear prompting you to enter a data range and some
other parameters controlling the display of charts for the securities
in the group
Options for Displaying Groups
This dialog box sets up certain options that will be identical for all
of the securities in the current group. These options control the
size and number of the charts that will be shown and the range of data
Parity will display from each security in the group.
# of Graphs Displayed The number of charts Parity can display at one
time is constrained by Windows' available System
Resources. Windows 3.1 gives Parity significantly
more System Resources than Windows 3.0. You will
receive a warning if you specify more than 12 graphs
to be displayed at once. To display only a single
graph at a time, click on the Close Graph After
Displayed check box.
Chart Size Permits you to set the chart size in pixels. Parity
sets the default chart size to equal the size of a
chart after a Window Cascade command. To maximize
the size of each chart as it is displayed click on
the Maximize Graph Size check box.
Print Each Graph This prints each chart when it is displayed. See
Printing Charts.
Add Blanks to Chart Specify the number of periods of "white" space
you want added to the right of the chart. Useful
for drawing extended trendlines into the future.
Data Range Options Since Parity permits you to group securities
with different numbers of records and starting and
ending dates you must use Relative Record Positions
to specify the data range to be printed. A future
release of Parity will include the option to use
Absolute Date Ranges. See Load a Security for
details about data ranges.
OK Sets the display and data range options you selected
and loads the first security in the group. This
will overwrite the group or security that was
previously selected.
Reorder a Group
When you reorder a group you change the display sequence of the
securities within the group. You can also change the definition of
the group by excluding securities from the Reordered Group list.
List of All Groups Select the group you want to reorder by double
clicking on the group's name in this list box.
Original Group Lists all the securities in the group you selected
for reordering which have not been added to the
Reordered Group list. Add a security to the
Reordered Group list by double clicking on the
security name.
Reordered Group Lists the display order for all the securities that
have been selected for reordering. Double Clicking
on a security in the Reordered Group list will add
it back to the Original Group List.
Double Click Action Permits you to select if double clicking on a
security will move it from the Original Group to the
Reordered Group or back, or cause any available
details about the securities data file to be shown
in the upper left corner of the dialog box.
O.K. Button Resets the securities list and display sequence of
the group to be identical to the Reordered Group
list.
Save All Groups
The Save All Groups command will save the definition of ALL the groups
in memory to the GROUPS.DAT file in your Parity directory. This is
the only way to make any changes, deletions, or newly created groups
permanent. It is not possible to save just the changes of a single
group.
Delete Groups
The Delete Groups command permits you to remove the definition of a
Group from memory. Groups will not be permanently deleted unless you
Save All Groups.
Display Group or Security
The Display command in the Groups menu will display a chart of the
current security using the current study and set the display mode to
Display Group. This command is included for your convenience only and
we recommend controlling the Display Matrix using the Display Tools
found on the Tool Bar.
Import Other Formats
Parity permits you to import data from Excel 2.1 and 3.0 files, Lotus
123 WKS files, Comma Separated Value text files and Tab Separated
Value text files.
You can import price data using the 5 field date, high, low, close,
volume format or the 7 field date, open, high, low, close, volume,
open interest formats. You can also include other data arrays in the
file which will be imported as named variables which you can use in
your formulas.
Each "column" in the file you import is treated as a variable. The
first "row" of the column must contain the name of the variable. Each
subsequent row contains the elements of the variable's data array. A
variable can contain up to 8100 elements.
The Import Other File Formats dialog box is straight forward. Simply
select the file you want to import, check the correct file format
radio button and click on the Import button.
In order to be correctly imported the file must be formatted very
specificly. Please read the following sections carefully. Parity
performs very limited error checking when it imports data so you may
need to experiment with the layout of your file before you are able to
import data correctly.
Parity Plus includes a data conversion utility that lets you convert a
very wide range of file formats to and from the MetaStock, ChartPro
and Comma Delimited ASCII data files Parity supports directly.
Importing Price Data
Although Parity permits you to use the Import Other Formats command to
import price data you cannot use this data in a group. Importing
price data is like the Load a Security command but without the ability
to select a data range.
To successfully import price data you must observe the following
conventions exactly. Each variable name must appear in the first row
of the file and must be exactly as shown. Subsequent rows must
include data formatted as described below.
Variable Name Description
Date Mandatory. Subsequent rows must contain date,
rather than text or numeric values for Excel and
Lotus files. Text files must include dates
formatted as MM/DD/YY. Any other formatting will
cause an error. Note you must use Date not Dates.
High Mandatory. High price values. Excel and Lotus must
format the high prices as numeric, rather than text
values. Text files must not contain non-numeric
characters such as "," or "$".
Low Same as High.
Close Same as High.
Volume Same as High.
Open Optional. Same formatting as High.
OpenInterest Optional. Same formatting as High. It is safest if
you fill openinterest with zeros if you include open
data. However, this is not mandatory. Note, there
is no space between open and interest in the
OpenInterest variable name.
Name Mandatory. You must include a text value for name.
The use of more than 16 characters will be
unpredictable. Only the first row after Name will
be recognized.
Symbol Mandatory. You must include a text value for
symbol. The use of more than 8 characters may be
unpredictable. Only the first row after Symbol will
be recognized.
NumFields Mandatory. NumFields must include a numeric value
of either 5 or 7 depending on whether the data
includes Date, High, Low, Close, Volume or Date,
Open High, Low, Close, Volume, OpenInterest. Note
NumFields is one word with no spacing. Only the
first row after NumFields will be recognized.
The columns can occur in any order and the variable names are not case
sensitive. If you are using comma delimited or tab delimited text
files we strongly recommend that you include Name, Symbol, and
NumFields at the end of the first and second lines. Otherwise you
will need to maintain the correct comma or tab separation in each and
every row. Also each line in the file must end with a carriage return
or carriage return and line feed. If you are using a word processor
like Word for Windows that means you must save the file as text with
line breaks.
You must have the "File Includes Price Data" check box checked to
correctly import price data. Once price data is imported you can
create charts using any study or batch. If you Load a Security, or
Select a Group, the price data you imported will be overwritten. You
must use Parity's Predefined Variables to access price data you
import. The Date, High, Low, Close, Volume, Open, OpenInterest, Name,
Symbol, and NumFields variable names will not be accessible to you.
An Example of a Comma Separated File
Row 1 date,high,low,close,volume,name,symbol,numfields
Row 2 3/1/90,33.5,33,33.25,12500,Good Stock,GSTK,5
Row 3... 3/2/90,34,33,33.75,15000
Common Problems Importing Price Data
The Import Other Formats command is bug free. If it doesn't work for
you there is a problem with your file format. Since we can't tell
anything about your file format over the phone we are unable to
provide any meaningful technical support for the Import Other Formats
command unless you send us the file you are trying to import. In our
experience the most common problems importing data are:
1.The date field is not formatted correctly. This occurs most
frequently when importing from a spreadsheet. The date field
looks like a date value but is really text. Check the
formatting of the date column.
2.The Lotus 123 WKS file isn't really in the WKS format but
simply has a WKS extension. Parity can only import from true
WKS format files, not from WK1, WK3 or WRK files. Check the
format of your file.
3.Parity does not support the Excel 4.0 file format. Excel files
must be saved as 3.0 or 2.1 formats. Check the format of your
file.
4.Each line in a comma or tab delimited text files must end with
a hard carriage return. Make sure your word processor is
saving the file in plain text format with line breaks.
Since Parity performs no error handling when you try to import data if
an error occurs the program doesn't fail gracefully and it will often
appear to freeze the computer. Normally you can recover simply by
pressing the up arrow key and closing the dialog box by double
clicking on the control menu box in the upper left hand corner of the
dialog box window.
Importing Other Data
Parity does not limit you to importing only price data. You can
import an array of any numeric data. The name of the data array
variable will be the same as the name in the first row of the data's
column. You can use this variable in exactly the same way as Parity's
Predefined Variables. Non-price data can be imported in the same file
as price data. These imported variables persist throughout your
session.
Parity performs no checking to prevent you from accidentally
overwriting an internal variable. You may also experience problems
with certain formulas when an imported variable doesn't have the
"array range" the formula expects. This is definitely an advanced
option which will require experimentation. One possibility you might
explore is importing data from a package like The Technician, and
including it in your analysis.
See the Predefined Variables section for more suggestions on how to
handle imported data.
Studies Menu
Study Commands
A study controls every aspect of how a chart is displayed except for
which security is being charted. The Studies Menu provides you with
all of the tools necessary to create sophisticated charts. Multiple
studies can be "batched" or "clustered" together to automate
repetitive display tasks.
Batch Commands
A batch is a predefined list of one or more studies that is displayed
sequentially on a single security or group. Use batches to automate
and simplify your charting. A batch can hold an unlimited number of
studies and you can define an unlimited number of batches.
Create/Modify Current Study
The Create/Modify Study command opens the Formula Editor, which is the
first of several dialog boxes that control how a chart is displayed.
These dialog boxes always display the settings for the currently
selected study, or the Default Study if no study has been selected.
The changes you make to the study you are modifying will be temporary
if you select O.K. from the Formula Editor which will then create an
"UNNAMED" study. The "UNNAMED" study is overwritten if you move
through the Display Matrix or select a new current study and your
changes will be lost. You can save your changes under a new or
existing study name by clicking on the Save As button. These changes
will be stored for the current session and can be made permanent with
the Save All Studies command.
The Study Editors
Formula Editor The Formula Editor lets you create sophisticated
technical indicators using the predefined indicator
list and your own formulas. All of the subsequent
Study Editors return you to the Formula Editor which
controls how your changes will be saved.
Pane Layout Editor Controls how the indicators you defined with
the Formula Editor will be displayed in the chart.
You can specify which pane to plot the indicator in,
where the pane should be displayed, what the pane
size should be, and whether the pane should be
displayed with a scale or a grid.
Color Editor Controls what colors to use for plotting the
indicators as well as the colors used for the
background, scales, labels and grid of the chart.
Options Editor Controls how you label the panes and what to use for
the chart title. Also lets you select the number of
days between ticks on the X axis and whether the Y
axis scale of each pane is optimized for labels or
data. You can also use the options editor to
separate stacked panes with white space.
Formula Editor
The Formula Editor permits you to create up to nine formulas that can
be displayed on a chart and/or used in another formula. Each formula
can contain any of the indicators, predefined variables, arithmetic
operators, or chart procedures available in Parity.
The result of each formula is assigned to an array variable named F1
to F9 as shown to the left of the Formula to Plot box. The F1 to F9
variables can be used in exactly the same fashion as the predefined
variables, O, H, L, C, V, and OI which hold the data for the current
security. The values for the first security in a group are stored in
the predefined variables FO, FH, FL, FC, FV, and FOI. You can use
these predefined variables to create spreads and relative strength
calculations.
Since the formulas are processed sequentially, the result of a
formula, e.g. F3, can only be used in subsequent formula definitions,
e.g., F4 - F9.
Some indicators such as BolBands(), and Stoch() are actually
procedures rather than functions. You cannot reference the result of
these procedures by F1-F9 or by including them within another formula
calculation.
A formula box can also contain a chart procedure. Chart procedures
perform special processing in order to create displays like Point and
Figure Charts, EquiVolume Charts, Crockerc type charts, and horizontal
bar charts of the number of days at a price, or the total volume at a
price. The ChartFirstSecurity() procedure even lets you include a
chart of the first security in a group on the same chart as the
current security. To see the selection of Chart Procedures available
click on the Chart Procedure radio button.
To Define a Formula
1 Click in the Formula Box.
2 Type in your formula or edit an existing formula. Or
3 Double click on a predefined indicator in the indicator list box.
If the Formula Box you clicked on in 1) was empty the indicator
will be copied to the Formula Box.
If the Formula Box already contained a formula definition the
indicator you selected will be saved to the clipboard and you can
position the cursor in any Formula Box and paste the indicator you
selected using SHIFT-INS or the Edit Paste Menu Command.
If you click on the Functions radio button a list of Parity's
operators and functions will be displayed. When you double click
on one of these functions it is saved to the clipboard. You can
paste the function into any Formula Box using SHIFT-INS. You will
need to edit the function manually.
To Define a Chart Procedure
1 Click on the Chart Procedure radio button. The list box will now
display all the chart procedures available to you.
2 Double Click on the Chart Procedure you want to include in your
chart. Complete the dialog box if necessary, and the Chart
Procedure will be copied to the Formula Box or saved to the
clipboard.
To Define the Line Style
You can select the line style that will be used to plot the result of
a formula by clicking on the drop down list box to the right of the
Formula Box. An example of each of the available line styles will be
shown. The Bars style will plot the formula as a histogram or bar
chart.
Using Japanese Candlestick Charts
By default, Parity will plot the price data as an Open, High, Low,
Close bar chart. To plot this data as a Japanese Candlestick chart
just check the Candlestick check box. If you are using a high
resolution printer you may find that candlestick charts print the
candles too thinly. You can use the Chart Preferences command in the
Options menu to increase the thickness of the candlesticks.
Using Point and Figure, EquiVolume, Crockerc, and Horizontal Bar Charts
Parity provides nine powerful Chart Procedures which permit you to
include special types of graphs in the panes of your chart. Click on
the Chart Procedures radio button to see the selection of charts
available to you. Simply double click on the chart procedure you want
to include and complete the dialog box which will pop up. The chart
procedure will be copied to the empty formula box.
Button Commands
O.K. Button Saves the settings of all the Study Editors as an
"UNNAMED" Study. These settings will be lost when
another study is loaded.
Save As Button Permits you to save the settings of all the Study
Editors as a "Named" Study. These settings can be
made permanent by selecting the Save All Studies
menu command.
Cancel Button Exits Formula Editor without making any changes in
the current study.
Reset All Button Will reset all of the Study Editors' settings to the
Default Study settings. Useful if you want to
create a new study from scratch when a named study
is loaded.
Panes Button Brings up the Pane Layout Editor dialog which
controls the layout and appearance of all the panes
in a chart.
Colors Button Brings up the Color Editor dialog which controls the
layout and appearance of all the colors in a chart.
Options Button Brings up the Options Editor dialog which controls
pane labels, chart titles and pane scaling.
Pane Layout Editor
The Pane Layout Editor controls how each data array will be plotted in
a chart. As many as 11 different data arrays can be plotted in a
single chart. These data arrays include price and volume as well as
the array variables F1 to F9 that contain the results of the formulas
defined in the Formula Editor.
By default, Parity plots each data array you define in its own pane,
and each pane is displayed in the chart stacked from top to bottom in
ascending order.
By changing the Pane to Plot In and Pane to Overlay settings you can
plot multiple data arrays in a single pane and stack multiple panes on
top of each other. The Pane to Overlay settings also control the
order in which each pane appears. Each pane maintains its own scale
that can be displayed on the left or right side of the pane or not at
all by adjusting the Scale settings. The Relative Size settings
control the size of each pane in the chart. The Grid Settings control
how each pane displays its horizontal and vertical grids.
Dialog Form Item Description
Pane To Plot In In order to display a data array you must specify a
pane to plot the data array in. A pane can contain
any number of data arrays but each pane only
maintains a single Y axis scale. This scale is
automatically adjusted for the largest and smallest
values plotted in the pane and the Maximize Y Axis
settings in the Options Editor controls how the
scale is fitted to the data. The Pane to Plot In
setting must contain an integer from 0 to 11.
Setting the Pane to Plot In or the Pane to Overlay
to 0 will cause the data array to not be displayed.
The figure above shows ADX(14) and ADXR(14) plotted
in the same pane.
Pane to Overlay The Pane to Overlay setting controls where the pane
is displayed in a chart. By default each data array
is plotted in its own pane that overlays itself.
Panes are plotted in the chart from top to bottom in
ascending order of the Pane to Overlay value.
If you change the Pane to Overlay to a different
pane then the contents of the pane will be overlaid
onto the other pane. The size of the panes will be
controlled by the first pane that is created. Since
each pane maintains its own scale, you would overlay
panes, rather than plot in the same pane, when two
or more data arrays have very different ranges. A
good example would be overlaying panes containing
PVI() and NVI() data arrays as shown in the figure
above.
You can also change the order in which panes are
displayed on a chart by changing the Pane To Overlay
settings. Valid settings for Pane To Overlay are 0
to 13. Although you can't plot in panes 12 or 13
these settings can be useful to quickly change the
display sequence. For example, if you prefer to
show the price and volume panes at the bottom of the
chart, simply set their Pane To Overlay settings to
12 and 13 respectively. Using 0 will cause the data
array not to be plotted at all.
Relative Size Since Parity permits you to dynamically resize your
charts, all pane size settings are relative to the
total size of the chart. To calculate the display
size of a pane, Parity totals the relative sizes of
all the panes in the stack (overlaid panes are not
counted) and allocates a percentage of the chart's
display area to the pane based on the pane's
relative size divided by the total relative sizes of
all the panes in the stack. Relative sizes can be
any number greater than zero.
Scale Settings Each Pane maintains its own Y-axis scale. This
scale can be displayed to the left or right of the
pane or not at all. Parity will display all the
scales of overlaid panes. Unless you have the Pane
Separation setting selected in the Options Editor
the highest and lowest labels of stacked panes with
scales set to the same side will overlap. To change
the Scale Setting insert the cursor to the far left
of the scale box and type L, R, or N. It is not
necessary to type the whole word or delete the
setting already there.
Grid Settings The frequency of the horizontal and vertical grids
in a pane are automatically controlled by Parity
based on the size of the chart and the pane.
However you can control whether either, both or none
of the grids are displayed in the pane. To change
the Grid setting insert the cursor to the far left
of the grid box and type H, V, B, or N. It is not
necessary to type the whole word or delete the
setting already there.
O.K. Button This temporarily stores any changes you have made in
the Pane Layout Editor and returns you to the
Formula Editor. Your changes won't be saved unless
you select O.K. or Save As from the Formula Editor.
Color Editor
The Color Editor permits you to control the colors used to plot each
data array, as well as specifying what colors to use for the chart
background, scales and labels.
To change a color simply click on the button for the item you wish to
change. The color selection dialog box will appear. Select one of 38
predefined colors by double clicking on the color name, or create your
own color using the RGB slider bars.
The lines Parity plots are only one pixel wide. Consequently if your
display adapter or Windows settings are set to 16 colors and you
select a dithered color the data plots will be unsatisfactory. Also
with a one pixel width, similarly colored lines will look almost
identical.
As a final caution, you should note that not all printer drivers will
print all the colors you can display and some printer drivers may
print any color except white as a solid black line. Given the
diversity of drivers for Windows we can only suggest that you
experiment with the best settings for your particular mix of
equipment.
Preview Chart
If you have price data loaded, you can preview the chart as it is
currently defined by clicking on the Preview Chart Button. This will
create a small copy of the chart your study is defining in the Color
Editor form. A complicated study may take a few seconds to display as
Parity calculates the value of each formula.
Options Editor
The Options Editor controls the display of pane labels, chart titles,
pane scales and pane separations. Each of its settings is explained
below.
Dialog Form Item Description
Pane Labels Each pane can have a label within the pane that will
appear in the upper left corner of the pane. By
default pane labels are displayed using the text of
the formula used to create the data arrays in the
pane. You can edit the text of a pane label and/or
completely disable its display using the Pane Labels
text box and check box respectively. Labels will be
displayed in the same color used to plot the data
array.
Parity attempts to display all the Pane Labels for
all the data arrays plotted in a particular pane
area. In other words, labels for all the data
arrays plotted IN a pane or OVERLAID on a pane will
be printed. However, the logic for arranging these
labels is complicated and can easily become confused
when you overlay panes that contain multiple data
arrays. Also the pane may not be large enough to
contain all the labels.
Once a Pane Label has been created, either manually
or automatically, subsequent changes in the
underlying formula will not affect the label.
We recommend that when you overlay panes you use the
pane label to indicate whether a data array is
plotted to the left or right scale.
Maximize Y Axis? The Y axis scale can be adjusted to maximize the fit
to the data plotted in the pane by checking this
box. This maximizes the amplitude of the data
plotted in the pane. If the box is unchecked Parity
will display the Y axis scale with "rounded" values,
i.e. 10 to 50, or 100 to 200. This will result in
"prettier" labels but can flatten the data out quite
a lot. We prefer maximizing the fit to data but the
choice is yours.
Separate Panes? By default, Parity abuts stacked panes top to bottom
with no separation. If you check Separate Panes?
Parity will add 4% of the area of the chart as white
space to the top of the pane. Depending on the size
of the chart this will usually permit the top and
bottom scale labels of two adjacent panes to be
displayed without overlapping. However less space
will be available to display the data. The total
white space in the chart is added together and used
to adjust the relative size of all of the panes.
Chart Title Includes: The title bar of a chart can include either the
underlying security name, or the study name, or
both. In order to use a chart in a cluster the
chart title must include the study name.
X Axis Tick Days This controls the minimum number of days displayed
between tick marks on the X Axis. If the chart is
too small to display all the ticks the number of
tick days will be multiplied by a factor of 2 or 5
until the largest possible number of ticks can be
displayed. In addition this setting may affect the
frequency of the Vertical Grid.
Chart Title at Top of Page If you check this box the Chart Title will
be included at the top of the chart as well as in
the title bar of the chart's window. This can be
useful when you are preparing printed charts.
Select a Study
Use the Select a Study command to select the study used to display the
price data from any of the studies you have previously defined.
Note that when you select a new study to become the current study it
will replace the study, batch, or cluster you had previously selected
and reset the X or study axis of the Display Matrix.
To display the study using the current security use the Display
Current Study command or click on one of the display options on the
Tool Bar.
Save All Studies
The Save All Studies command saves the definition of ALL the studies
in memory to the STUDIES.DAT file in your Parity directory. This is
the only way to make any changes, deletions, or newly created studies
permanent. It is not possible to save changes to a single study.
Delete Study
The Delete Study command removes the definition of a study from
memory. Studies will not be permanently deleted unless you Save All
Studies.
Display Current Study
The Display Current Study command displays a chart of the current
security using the current study and sets the display mode to Display
Group. This command is included for your convenience only and we
recommend controlling the Display Matrix using the Display Tools found
on the Tool Bar.
Batch Studies
The Batch Studies command lets you define a new Batch of studies using
the Create Batch form. A Batch can contain an unlimited number of
studies.
To add studies to the batch, double click on the study name in the All
Defined Studies list. If you change your mind and want to remove a
study from the batch just double click on the study name in the
Studies to be Batched list.
Type the name you want to assign to the batch in the Name of New Batch
box. The name can contain 16 significant characters including A-Z, a-
z, 0-9, %, _, $, !, and %. Names cannot begin with a number and are
not case sensitive.
Clicking O.K. will save the batch to memory and Cancel will exit. To
make your changes permanent you must issue a Save All Batches command.
Select a Batch
Use the Select a Batch command to select the batch used to display the
price data from any of the batches you have previously defined.
Note that when you select a new batch to become the current batch it
will replace the study, batch, or cluster you had previously selected
and reset the X or study axis of the Display Matrix.
To display the first study in the batch using the current security use
the Display Current Study command or click on one of the display
options on the Tool Bar.
Reorder Batch
When you reorder a batch you change the display sequence of the
studies within the batch. You can also change the definition of the
batch by excluding studies from the Reordered Batch list.
Dialog Form Item Description
List of All Batches Select the batch you want to reorder by double
clicking on the batch's name in this list box.
Original Batch Lists all the studies in the batch you selected for
reordering which have not been added to the
Reordered Batch list. Add a study to the Reordered
Batch list by double clicking on the study name.
Reordered Batch Lists the display order for all the studies that
have been selected for reordering. Double Clicking
on a study in the Reordered Batch list will add it
back to the Original Batch List.
O.K. Button Resets the studies list and display sequence of the
Batch to be identical to the Reordered Batch list.
Save All Batches
The Save All Batches command saves the definition of ALL the batches
in memory to the BATCHES.DAT file in your Parity directory. This is
the only way to make any changes, deletions, or newly created batches
permanent. It is not possible to save changes to a single batch.
Delete Batch
The Delete Batches command removes the definition of a Batch from
memory. Batches will not be permanently deleted unless you Save All
Batches.
Clusters Menu
A Cluster is similar to a batch. However, instead of displaying its
studies sequentially, a cluster displays all the studies it contains
at the same time and in a predefined screen configuration.
Command Description
Make a Cluster Creates a cluster using the current screen display.
A cluster contains information on the size,
location, and underlying study of every "named"
chart that is currently displayed. The underlying
security is irrelevant to the definition of a
cluster.
Select a Cluster Selects the cluster to display from any of the
clusters you have previously defined.
Save All Clusters Saves the definition of ALL the clusters to the
CLUSTERS.DAT file. Once saved, these definitions
are automatically loaded when you start Parity.
Delete Cluster Removes the definition of one or more clusters from
memory. This change isn't permanent unless you Save
All Clusters.
Display Current Cluster Displays the current cluster charted on
the current security. If no security or group has
been selected you will get an error message.
Note that the configuration of a cluster is display specific.
Displaying a cluster created for a higher resolution display, i.e.
Super VGA resolutions of 800 x 600 or 1024 x 768, on a 640 x 480 VGA
display, will have unpredictable effects.
Make a Cluster
To make a cluster you must display screen charts of all the studies
you want included in the cluster. Size and arrange these charts on
your screen exactly as you want them to appear when you display the
cluster. Any charts which exist, whether or not they are visible,
will be added to the cluster as long as they based on "named" studies.
This includes charts that are minimized. Only charts with titles
including the study name can be clustered. Charts without a named
study in the title, or with a "DEFAULT" or "UNNAMED" study title are
excluded from the cluster.
The Make a Cluster command is completely automatic. All you need to
do is name the cluster. The name can contain 16 significant
characters including A-Z, a-z, 0-9, %, _, $, !, and %. Names cannot
begin with a number and are not case sensitive. Clusters, batches,
groups and studies can all have the same name.
Note that the configuration of a cluster is display specific.
Displaying a cluster created for a higher resolution display i.e.
Super VGA resolutions of 800 x 600 or 1024 x 768, on a 640 x 480 VGA
display will have unpredictable effects.
Select a Cluster
Use the Select a Cluster command to select the cluster you want to
display.
Note that when you select a new cluster to become the current cluster
it will overwrite the cluster, batch, or study you had previously
selected and reset the X or studies axis of the Display Matrix.
To display the cluster using the current security click on one of the
display options on the Tool Bar.
Save All Clusters
The Save All Clusters command saves the definition of ALL the clusters
in memory to the CLUSTERS.DAT file in your Parity directory. This is
the only way to make any changes, deletions, or newly created
clusters permanent. It is not possible to save changes to a single
cluster.
Delete Cluster
The Delete Cluster command removes the definition of a Cluster from
memory. Clusters will not be permanently deleted unless you Save All
Clusters.
Display Current Cluster
The Display Current Cluster command displays the charts that comprise
the current cluster on the current security. If no security or
cluster has been loaded you will receive an error message. This
command is included for your convenience only and we recommend
controlling the Display Matrix using the Display Tools found on the
Tool Bar.
Pointer Menu
The Pointer Menu includes less frequently used Action Tools than are
accessible by clicking on an icon on the Tool Bar.
Choose the action you want to perform from the Pointer Menu
selections. Then click on the chart you want to act on. These tools
are "sticky" and stay active until you select another action tool or
click on the Pointer Tool on the Tool Bar.
Command Description
Erase Vertical Lines Erases any vertical lines that have been drawn
on the chart you click on, including lines drawn
with ChartVertLine().
Erase Horizontal Lines Erases any horizontal lines that have been
drawn on the chart you click on, except lines drawn
with ChartHorizLine() which cannot be erased.
Erase Drawn Lines Erases any lines drawn with the limited line tool,
the extended line tool, or the Fibonacci tools.
Erase All Lines Erases all the lines drawn on the chart except lines
drawn with ChartHorizLine().
Draw Fibonacci Lines Click on any two points in a chart, usually two
extreme price points. Parity will draw horizontal
lines at the two points plus lines at 38.2%, 50.0%
and 61.8% of the vertical difference between the two
points. Note that the calculations are performed
based on the actual points you click on, not the
data values they are proximate to.
Draw Fibonacci Fans Click on any two points in a chart, usually two
extreme price Points. Parity will draw 3 diagonal
trend lines extending from the first point, through
the points that are 38.2%, 50.0% and 61.8% of the
vertical difference between the two points and
vertical to the second point. These trend lines are
automatically extended to the far right of the
chart. Note that the calculations are performed
based on the actual points you click on, not the
data values they are proximate to.
Draw Channel Lines Click on any two points in a chart, usually two
points which you believe define a trend. Parity
will draw an extended trend line between the two
points. Then click on any third point and Parity
will draw and extended trendline at the third point
which is parallel to the first two points.
Options Menu
The Options Menu includes several commands used to customize Parity's
operation.
Command Description
Default Study Permits you to save the settings of the current
study as the "DEFAULT" study. The "DEFAULT" study
settings are loaded when you first start Parity, and
whenever you click on the Reset All button in the
Formula Editor.
To make a new "DEFAULT" study use the Create/Modify
Current Study editors to define all of the settings
for the current study as you want them to appear in
the "DEFAULT" study and click OK. Then choose
Default Study from the Options Menu and click on
Make Default Study. All the settings, including
formulas and chart procedures, of the current study
will be saved to the DEFSTUDY.DAT file. To return
to Parity's standard "DEFAULT" settings delete the
DEFSTUDY.DAT file from your disk.
Chart Preferences Permits you to save settings which affect the colors
and sizes used to display various Chart Procedures,
Action Tools, and the chart size itself. The
various settings should be self explanatory.
You can enable your preference settings for the
current Parity session only, or you can save them to
the CHRTPREF.DAT file which is automatically loaded
when Parity starts. To return to Parity's standard
chart settings delete the CHRTPREF.DAT file from
your disk.
Directory and File Permits you to set a Startup Directory used for
the Load a Stock and Create Group commands. You can
also save a preference for MetaStock or ChartPro
file formats. Your settings will be saved to the
FILEPREF.DAT file which is automatically loaded when
Parity starts. To return to Parity's standard
settings delete the FILEPREF.DAT file from your disk
Windows maintains a "current" directory for each
disk. If you change from the "Startup Directory" to
a different directory using Parity, or any other
Windows application, that will be the directory
which will be displayed when you use Load a Stock or
Create Group. Parity can only set your initial
startup directory.
Moveable Tool Bar Will recreate the Tool Bar as a moveable window of
fixed size. The moveable Tool Bar will be affected
by the Window Cascade and Tile commands.
Fixed Tool Bar Will recreate the Tool Bar as a fixed windows of
fixed size. The fixed Tool Bar is not affected by
the Window Cascade and Tile commands unless you have
moved a chart off the "desktop" and used the scroll
bars which will appear to move around on the virtual
desktop. Then Window Cascade or Tile may adversely
affect the Tool Bar and you may need to recreate it
using either the Moveable Tool Bar or the Fixed Tool
Bar commands.
Window Menu
The Window Menu provides the standard functionality of the Windows 3.x
windowing commands.
Command Description
Cascade Arranges chart windows in an overlapping pattern so
that the title bar of each window remains visible.
Tile Arranges chart windows side by side so that all
windows are visible.
Arrange Icons Arranges all chart icons in rows at the bottom of
the Parity window.
Show Print Log Opens a very simple and limited text editor. You
can make notes and comments in the print log and use
the File Print command to print them or the File
Save As command to save them to a file.
Show Scheduler This command has no function in this release of
Parity.
Help Menu
The Help Menu provides access to Parity's extensive on-line help
files. You can also access help by pressing F1 at any time or
clicking on the Help button in most of the dialog boxes.
Part 5 Indicators & Chart Procedures
The technical analysis of stocks and commodities generally falls into
three general types of activity; chart reading, indicator analysis,
and wave or cycle analysis. Vociferous proponents of each method
exist, but most technicians make use of tools from each of these three
general types of analysis in some measure. Parity provides the user
with a wide variety of chart types and predefined technical indicators
which can be used to predict potential price trends.
Chart Reading
Chart reading typically involves the visual recognition of historical
price and volume trends and patterns which are believed to be useful
for forecasting the future direction of a security. Most chartists
draw trendlines and resistance and support lines on a chart which
identify key price patterns. Parity provides a full complement of
drawing tools which are accessible from the Tool Bar or the Pointer
Menu. Just by "pointing and clicking" the user can quickly add
trendlines, text, channel lines and Fibonacci lines to any chart.
Also, Parity's Chart Procedures allow you to create many different
chart types.
Indicator Analysis
Over the years technicians have developed a number of widely
recognized "indicators" which can be useful for predicting when a
security has peaked or bottomed or is continuing in its current trend.
An indicator is simply a predefined formula which takes historical
price and volume data and calculates a new indicator value which may
have predictive significance. Indicator analysis usually looks for
indicator values above or below a certain point, divergences from an
indicator chart and the price chart, or a peak or trough in the
indicator itself. Parity offers most of the commonly used indicators
as predefined functions which can be easily charted or included in
your own formulas.
Cycle and Wave Analysis
Many technicians believe that stocks and commodities follow certain
naturally occurring wave patterns and price cycles. The most
comprehensive (and difficult) theory of this type is the Elliot Wave
Theory. Parity provides a full set of trigonometric functions which
can be used to generate any sort of cycle and many of the same drawing
tools used for chart reading will also be useful for wave analysis.
The retail version of the program, Parity Plus, includes special tools
to draw and position two sets of independent cycle lines on any of
your charts.
Technical Indicators
Parity includes over 40 of the most popular indicators for the
technical analysis of stocks and commodities. These majority of these
indicators act as functions that return an array which can be used as
the input to another indicator or within a user defined formula. This
makes it easy for you to do "studies on studies" or to develop your
own proprietary charting tools.
A complete list of the indicators available in Parity is shown below.
A full description of the derivation and interpretation of these
indicators is included in the manuals for the registered versions of
Parity and Parity Plus. Please see the Bibliography which follows for
a list of books which discuss these indicators in detail.
Notes on Syntax
The naming and syntax for indicators generally follows the conventions
established by MetaStock and TAS. Some indicators expect parameters
of a specific type as shown below:
d Any data array including predefined variables or the result of
another indicator.
p The number of periods to use to calculate the indicator.
t The type of moving average to use. Must be "S" for simple, "E"
for exponential, "W" for weighted. The quotes are required.
r Express the result of the indicator in points or percentages.
Must be "$" for points or "%" for percentages. The quotes are
required
Note that Parity is not case sensitive. D is the same as d, AD() is
the same as aD().
List of Predefined Technical Indicators
Indicator Function Description
AD() Accumulation/Distribution
ADX(p) Average Directional Movement Index
ADXR(p) Average Directional Movement Rating
BolBands(p, deviations) Bollinger Bands. The deviations parameter
is the number of standard deviations used to
calculate the top and bottom bands. BolBands()
is a procedure.
CCI(p) Commodity Channel Index
CO() Chaikin Oscillator
DX(p) Directional Movement Index
EquiVol(p) EquiVolume Indicator
LinRegSlope(d, p, t) Linear Regression Slope Indicator
MACD() MACD Indicator. The 9 day exponential moving
average of the MACD is plotted in the same
color used by the Text Tool.
MDI(p) Minus Directional Indicator
MFI(p) Money Flow Index
MO(p) Momentum Indicator
MOV(d, p, t) Moving Average
MovLinReg(d, p) Moving Linear Regression
NVI() Negative Volume Index
OBV() On Balance Volume
OSCP(p1, p2, t, r) Price Oscillator
OSCV(p1, p2, t, r) Volume Oscillator
PctDLine( ... ) %D Line Function
PctKLine( ... ) %K Line Function
PriceChannel(p) Price Channel Bands
PDI(p) Plus Directional Indicator
PVI() Positive Volume Index
PVT() Price Volume Trend
ROC(d, p, r) Rate of Change
RSI(p) Relative Strength Index
RSIX(d, p) Relative Strength Index with specified data
array.
SAR(IAF, MAF) Parabolic Stop and Reverse System. IAF is the
initial acceleration factor. MAF is the
maximum acceleration.
SMI(p1, p2, p3) Stochastic Momentum Index
STD(d) or STD(d, p) Standard Deviation. STD(d) calculates the
standard deviation of each element of d from
all the values in d and returns a single scalar
number. STD(d, p) calculates the standard
deviation of each element of d from the values
of the preceding p periods and returns an
array.
Stoch(%Kperiods, %Kslowing, %Dperiods, %Dmethod)
Stoch(%Kperiods, %Kslowing) Stochastic Oscillator. Stoch() takes
two forms. You must specify the number of %K
periods and the %K slowing periods. Optionally
you can also specify the number of %D periods
and the %D moving average method, i.e. "E",
"S", "W". By default %Dperiods is 3 and
%Dmethod is "E". The %D line is plotted in the
same color as the Text Tool. Stoch() is a
procedure.
TR() True Range
TRIX(p) TRIX Indicator
TSF(d, p) Time Series Forecast
ULT(p1, p2, p3) Larry Williams' Ultimate Oscillator
VAR(d) or VAR(d,p) Variance. VAR(d) calculates the variance of
each element of d from all the values in d and
returns a single scalar number. VAR(d, p)
calculates the variance of each element of d
from the values of the preceding p periods and
returns an array.
VOL(pm, pr) Chaikin's Volatility Indicator, pm is the
number of moving average periods, pr is the
number of rate of change periods.
VOLW(p) Wilder's Volatility
WC() Weighted Close
WILLA() Williams' A/D
WILLR(p) Williams %R
ZIG(d, change, r) Zig Zag Indicator. Filters out changes that
are less than change points or change percent.
If r is "%" then change must be less than 1.0.
Bibliography of Technical Analysis Texts
The New Commodity Trading Systems and Methods. Perry J. Kaufman.
Technical Analysis of the Futures Markets. John J. Murphy.
The Encyclopedia of Technical Market Indicators. Robert W. Colby &
Thomas A. Meyers.
The Technical Traders Guide to Computer Analysis of the Futures
Markets. Charles LeBeau & David W. Lucas.
Technical Analysis of Stock Trends. Robert D. Edwards & John Magee.
Technical Analysis Explained. Martin Pring.
New Concepts in Technical Trading Systems. J. Welles Wilder.
MetaStock Function Compatibility
Parity supports virtually all of the indicators and functions provided
with MetaStock 3.0, and adds many new indicators and functions of its
own. The following details the differences between MetaStock and
Parity.
MetaStock Functions Not Supported In Parity 1.3.
Options & Commodities None of MetaStock's options or commodities
related functions are supported in Parity 1.0.
These include the option functions delta(), gamma(),
life(), option(), theta(), and vega(). The
commodity related functions are aswing(), csi(),
hpi(), and swing(). A future release of Parity will
provide equivalent support for these functions.
Indicators We have had trouble finding the correct formulas for
the following indicators: corr(), di(), and ffi().
These indicators will be added as we figure out how
to calculate them.
MetaStock Functions which will never be supported.
Function Description
fml() This has no equivalent in Parity since the result of
a formula can be referred to directly using F1 to
F9.
if() if is a reserved word. Equivalent functionality is
provided by: IF test THEN d1 ELSE d2.
mod(d, v) mod is a reserved word. Equivalent functionality is
provided by: d mod v.
ref(d, p) Equivalent functionality is provided by d[-p] or
d[+p].
sqr(d) sqr is a reserved word. Equivalent functionality is
provided by: SQRT(d).
sub(a, b) sub is a reserved word. Equivalent functionality is
provided by: a - b.
sum(d, p) sum is a reserved word. Equivalent functionality is
provided by: StatMovTot(d, p)
Trivial MetaStock Functions which are supported.
For your convenience we do support the following MetaStock functions.
The actual underlying Parity equivalent is shown for your edification.
We cannot guarantee that these functions will be supported in future
releases of Parity.
Function Description
ADD(a, b) a + b
DIV(a, b) a / b
FRAC(a) a mod 1
HHV(d, p) StatMovMax(d, p)
INT(d) d \ 1
LLV(d, p) StatMovMin(d, p)
MID(d, p) (StatMovMin(d, p) + StatMovMax(d, p))/2
MP() (H + L) / 2
MUL(a, b) a * b
NEG(d) -d
PER(d) (d - d[StartValid(d)])/ d[StartValid(d)]
PREC(d, p) ((d * 10^p) \ 1) / 10 ^ p
PWR(a, b) a ^ b
Procedures vs. Functions
Parity includes several indicators which are defined as Procedures
rather than Functions. These indicators, which include BolBands() and
Stoch() do not return an array of data values. However, BolBands()
and Stoch() do create named Global Variables which can be used in
subsequent calculations.
Parity also includes a special class of Chart Procedures which are
used to create special chart types in a pane of a study. Chart
procedures are used in a study just like indicators but they do not
return an array of data values.
Indicator procedures and chart procedures cannot be used within any
other function and the result of the procedure cannot be referred to
using the F1 to F9 array variables.
The following predefined indicators are Procedures rather than
Functions.
BolBands(p, deviations). Calculates the Bollinger Bands for the
closing price using p periods and deviations standard deviations.
The result of the calculation are stored in the global variables
topband, centerband, and bottomband which may be referenced in
subsequent calculations.
Stoch(%Kperiods, %Kslowing, %Dperiods, %Dmethod) Calculates the
Stochastic Oscillator for the price data. The results of the
calculation are stored in the global variables %KLine and %DLine
which may be referenced in subsequent calculations.
Chart Procedures
Parity includes the ability to display multiple types of price charts
within the same Study/Chart. Parity accomplishes this with its Chart
Procedure functionality. Chart Procedures are used in a Study almost
exactly like Parity's predefined indicators. However, instead of
returning a data array which is plotted in a pane of the chart, chart
procedures create an entirely different chart type in the specified
pane.
Like indicators, chart procedures can be added to a study by double
clicking in the Formula Editor's list box when the Chart Procedure
radio button is on. Or you can manually type a chart procedure into a
formula box. Note that the color and width used for many of the Chart
Procedures can be set with the Chart Preferences command on the
Options Menu.
Types of Chart Procedures
ChartFirstSecurity(typechart)
Creates a bar, line, or candlestick chart of the first security in the
Group. Use "B", "L", or "J" for the typechart parameter. See
Predefined Variables.
ChartHorizLine(data), ChartVertLine(data, c1, c2)
Draws vertical and horizontal lines on a chart based on the values of
data. No results are returned. See Adding Lines to a Chart.
DaysAtPrice(array, band)
Plots a horizontal bar chart of the number of days array was within
the price range defined by band. DaysAtPrice() is usually used with
price data such as C, but you can use it with any array variable such
as F1-F9. The band parameter sets the "granularity" of the price
ranges which are used to total the occurrences of array. For example
a band of 1 will treat a closing price of 33, 33.5 and 33.75 as
occurring in the same band while .25 would treat them as falling into
separate bands. The horizontal bar is plotted at the midrange of the
band. Each increment along the X axis equals 1 day where array's
price was within the band. By default Parity will plot DaysAtPrice in
the Price Pane.
DBarPointFigure(boxsize, reversals, $or%, reverseWhen, constantBox)
Causes a modified point and figure chart which incorporates the
duration or time period of a column to be displayed in its pane. No
results are returned.
EquiVolumeChart()
Creates the Equivolume chart popularized by Richard Arms. The width
of each box on the chart is proportional to the volume traded, while
the top and bottom of the box corresponds to the High and Low prices
for that day. A future version of Parity will include Equivolume
Candlestick charts. If you plot more than 1500 days of data with
EquiVolumeChart() you will hit Parity's limit of 8189 data array
elements and receive an error message.
VolumeAtPrice(array, band)
Plots a horizontal bar chart of the total volume when array was within
the price range defined by band, proportional to the total volume
traded during the period of the chart. Unlike DaysAtPrice(), the
length of the horizontal lines is relative, not absolute. Roughly
speaking, a line twice as long had twice as much volume at that price.
See DaysAtPrice() for more detail.
XOPointFigure(boxsize, reversals, $or%, reverseWhen, constantBox)
Causes a traditional point and figure chart to be displayed in its
pane. No results are returned.
XVolumeYPrice()
This procedure plots a line chart where the X axis is volume and the Y
axis is the closing price. The first day is indicated by an "S" on
the chart, and the last day by an "E". The direction of the lines is
indicated by their color. By default, the lines cycle through Red,
Green, and Blue. So the line for the first data point is Red, the
second is Green, the third is Blue, the fourth is Red etc. The
overall effect is to create something akin to The Crocker Chartc. The
analysis of Crocker Chartsc is beyond the scope of this documentation.
Point and Figure Charts
Point and Figure charts are used to plot price movement rather than
price action over time like bar or candlestick charts.
You create point and figure charts by typing one of Parity's two types
of point and figure chart procedures in the formula box of the Formula
Editor. Point and figure charts can be plotted in a unique pane,
which can be stacked or overlaid on another pane, or plotted in a pane
with other indicators.
Constructing Point and Figure Charts
Traditional point and figure charts display price movement as a series
of columns of X's and O's. An X column indicates rising prices and
the O column indicates falling prices. By default Parity also colors
the X columns blue and the O columns red to facilitate their
interpretation.
The two most important parameters in the construction of a point and
figure chart are the box size and the reversal criterion. The box
size determines the minimum price movement necessary to add an X or O
to a column. The reversal criterion is usually expressed as x number
of boxes and is used to determine if a new column of X's or O's should
be started. The procedure to create a chart in an English/BASIC
dialect is:
Get the high and low prices for today
SELECT CASE current column
CASE current column is X's
IF today's high is at least 1 box > than previous high
THEN
Plot new X's.
Do not fill box if scale price is > today's high
ELSE IF today's low is x boxes below the X column high
THEN
Move right one column
Enter O's beginning 1 box below the X column high
Do not fill box if scale price is < today's low
END IF
CASE current column is O's
Do the reverse of the X case.
END SELECT
Traditional point and figure charts disregard time. This makes it
difficult to relate point and figure charts to standard price volume
charts. To alleviate this problem Parity incorporates a point and
figure chart type, DBarPointFigure(), which changes the width of the X
and O columns to reflect the passage of time.
The Point and Figure Procedures
Parity has two chart procedures which can be used to create point and
figure charts.
XOPointFigure(boxsize, reversals, $or%, reverseWhen, constantBox)
Plots a traditional point and figure chart of X and O columns. If you
have a color display, X's will be displayed in blue and O's in red.
The procedure is entered as a formula in a Study. How point and
figure charts are displayed can be controlled in the same fashion as
any other item plotted in a study.
DBarPointFigure(boxsize, reversals, $or%, reverseWhen, constantBox)
Plots a modified point and figure chart which incorporates time by
varying the width of a column to match the entry and exit dates. X
columns are displayed as blue rectangles, O columns are displayed as
red rectangles.
Parameters
Parity permits you to experiment with a number of varieties of the
point and figure method by changing the parameters used with
XOPointFigure() and DBarPointFigure.
Parameter Description
boxsize The box size of the chart can be expressed in
points or percentages, i.e. 1.0 could indicate
one point, or .05 could indicate 5% depending
on the setting of $or%
reversals Determines the number of boxes need to reverse
direction and start a new column. Must be a
positive number. Note that a boxsize of 1 and
reversals of 3 and boxsize of .5 and reversals
of 6 will create identical charts.
$or% Determines whether the value of boxsize is used
as an absolute dollar amount or a percentage of
the closing price. $or% must be either "$" or
"%" including the quotes.
reverseWhen An important question for point and figure
charts is when to test for a reversal if the
high and low prices of a volatile trading day
could be used to continue a column or reverse
to a new column.
Setting reverseWhen to "A" causes Parity to
test for a reversal even after a column has
been continued.
Setting reverseWhen to "N" causes Parity to
only test for a reversal if the column has not
been continued. This is the case shown in the
chart construction example above.
Setting reverseWhen to "B" causes Parity to
test for a reversal before it tests if the
column has been continued.
constantBox Parity can automatically vary the box size as a
function of closing price when $or% is set to
"%". constantBox must be either "Y" for a
constant box size or "N" for a variable box
size based on boxsize * today's close. If $or%
is set to "$" constantBox is ignored.
Limitations
An XOPointFigure() chart can contain a maximum of 8189 X and O
elements. This is a limitation for all data arrays in Parity. An X
or O element is created for every box movement. If you use a very
small box size relative to the volatility and price of the security it
is possible to hit the 8189 element limit. An example would be using
a 0.5 box size on something like the Dow Jones Industrial Average.
Adding Lines to a Chart
Parity includes two procedures which can be used to automatically plot
vertical or horizontal lines on a chart. ChartVertLine() is
particularly useful for indicating buy/sell criteria while
ChartHorizLine() is useful to graphically illustrate threshold values
for the formulas and indicators you plot.
To use these procedures simply type them into a formula box in the
Formula Editor.
ChartVertLine(array, type, color1, color2)
Causes vertical lines to be plotted the full height of the chart.
ChartVertLine requires 1, 2 or 4 parameters as explained below.
Generally, you will want to set the Pane To Plot In to the value of a
pane which contains data. This doesn't affect how ChartVertLine()
works but otherwise you will have an empty pane in your chart.
ChartVertLine(array) -- One Parameter Case.
array Holds a data array which can be a predefined
variable, F1 to F9, the result of an indicator,
or an expression combining any of these.
ChartVertLine(array) tests for array <> array[-
1] and plots a vertical line whenever it is
True. In other words ChartVertLine will plot a
vertical line whenever today's array value is
not equal to yesterdays array value. For
example:
ChartVertLine(C > MOV(C, 50, "S")
Will plot a vertical line when the closing
price crosses above or below the 50 day simple
moving average.
ChartVertLine(array, type) -- Two Parameter Case
array Holds a data array as above. Or array can
contain an array of dates. The type parameter
determines how array will be evaluated.
If you want array to be a list of dates you
must express the dates as follows:
ChartVertLine({"07/01/91", "09/15/91",
"10/20/91"}, "dates")
This will plot a vertical line at each date
contained in array if that date exists in the
chart. If the date doesn't exist no line will
be plotted. Dates must be enclosed in quotes
and can be expressed as "MM/DD/YY", "YYMMDD",
or "DD-MMM-YY" type formats. To plot a singe
date use ChartVertLine({"07/01/91"}, "dates")
or ChartVertLine("07/01/91","dates")
type Must be set to either "dates" to plot an array
of dates, or "values" to plot a data array as
in the one parameter case.
ChartVertLine(array, type, color1, color2) -- Four Parameter Case
array As above
type As above
color1 The name of a color, enclosed in quotes. Valid
names are shown in the select color list in the
Color Editor. Examples include "Blue",
"Black", "Red", "Green", "Yellow", "Cyan",
"Magenta". The first vertical line will be
drawn in color1, the second in color2, the
third in color1, etc.
color2 As above.
ChartHorizLine(data)
Plots horizontal lines at the Y axis values held in data, in the Pane
To Plot In assigned in the Pane Layout Editor. The color of the line
is set using the Color Editor.
By plotting ChartHorizLine in the same pane as a formula, indicator,
or price chart it is possible to set one or more visual "thresholds"
which you can use to judge whether the formula or indicator is
signaling a buy or sell condition.
ChartHorizLine(data) takes a single parameter, data, which can be
either a scalar or array value. For example to plot 4 horizontal
lines in a pane use:
ChartHorizLine({100, 50, 0, -50, -100})
To plot a single horizontal line you can use either:
ChartHorizLine({0})
Or
ChartHorizLine(0)
The values in data can appear in any order.
Part 6 Formulas, Operators & Functions
Parity provides a full complement of powerful mathematical functions
and operators which can be used to create very complex user defined
formulas.
Formulas
Parity permits you to create extremely sophisticated formulas using
the Formula Editor.
With Parity you can create formulas using:
Arithmetic Operators +, -, *, /, ^, Mod, \
Comparison Operators =, <>, <, >, <=, >=
Logical Operators AND, OR, NOT, XOR, EQV, IMP
Trigonometric Functions Cos(), Sin(), Tan(), ACos(), ASin(),
ATn(), ATan2()
Exponential Functions Exp(), Exp10(), Log(), Log10(), Sqr(),
Sqrt()
Rounding Functions Round(), Ceil(), Floor(), Abs(), Sgn(), Bool()
Array Related Functions Sum(), Product(), RunTot(), Min(), Max(),
IF test THEN data1 ELSE data2
Statistical Functions StatNorm(), StatPercent(), StatRegress(),
StatMovTot(), StatMovMin(), StatMovMax()
Technical Indicators Predefined technical indicators for stock
and commodity charting, i.e. AD(), ADXR(),
MOV(), TRIX(), TSF() etc..
Other Formulas F1 to F9 when previously defined
Custom Formulas Not Supported in Version 1.0
Limitations of Formulas in Parity
Version 1.3 of Parity includes several important limitations on the
formulas you create:
1 A formula cannot contain more than 512 characters.
2 You cannot assign the result of a formula to a variable. By
default, formulas created using the Formula Editor will assign the
result of a formula to its corresponding F1 to F9 variable, which
can be used in subsequent calculations. You cannot use = as an
assignment operator within a formula. The following will cause an
error when you chart a study.
x = H - L
The Custom Functions feature, which will be implemented in a future
version of Parity, will permit you to assign the result of a
formula to a temporary variable.
3 Parity calculates the result of a formula "all at once" and does
not support FOR or WHILE loops. This can create a problem where
you might want to use "yesterdays" value of the formula in the
formula. For example, a 9 day exponential moving average of the
closing price is defined as:
current period close * 0.2 + previous period's avg. * 0.8
In Version 1.3 of Parity there is no way to reference "the previous
periods avg" before all the elements of the array are calculated.
Note that it is easy to reference the previous value of an array
once it has been calculated using the [-x] array notation, you
simply can't do it while its being calculated. This is equivalent
to MetaStock's ref( data array, period) function but is much more
powerful and direct.
4 Parity does not perform any error checking on user defined formulas
before it executes them. If you attempt to plot a formula with an
error in it Parity will issue a cryptic error message and appear to
hang. To resume the program simply hit the up arrow key and close
the error message.
Examples of Valid Formulas
AD()
MOV(C, 20, "S")
Stoch(5, 3, 3, "E")
(H - L) / C
ROC( RSI(14) , 10, "%" )
(MOV(C,10, "E") > MOV(C, 40, "E") AND RSI(14) <= 70) * 2 - 1
TSF(C, 21)[-1] <= TSF(C,21) AND TSF(C,21) >= TSF (C,21)[+1]
C > 30
Examples of Invalid Formulas
x = H- L
Stoch(5,3,3,"E") / C
Any formula that results in division by 0.
Arrays versus Scalars
A good understanding of arrays is essential to creating your own
formulas. When you chart an indicator in Parity it appears as a
continuous line. In fact the line simply connects the multiple
discrete data values which make up the array which is defined by that
indicator. Likewise, Parity loads a security's price data into
separate arrays for the high, low and closing prices which are then
available to you via the predefined array variables, H, L, C.
An example of an array with five values would be:
DA = {2, 4, 6, 8, 10}
The squiggly brackets indicate that the numbers form an array, which
can be thought of as a set of numbers which can be referred to as a
single entity or variable, in this case the variable DA. Each element
of an array can be referenced by its "index", i.e. its position in the
array. In the example above the number 6 has an index of 3 and could
be specified as DA[3] (see below for more information on referencing
arrays). Many math texts also refer to arrays as vectors.
An array doesn't have to contain multiple values, it could include
only a single number, for example the array {5} contains just one
value. However, the array {5} is a different type of data than the
"scalar" number 5. In other words, scalars contain a single value,
such as 2.7 or 5. Arrays generally contain multiple values, each
element of which is addressed by an index.
Most of Parity's operators and functions work equally well on arrays
and scalars and the two can be mixed together in computations. For
example, you can multiply an array variable with 5 values by the
scalar number 2 as shown below:
{4, 8, 12, 16, 20} = {2, 4, 6, 8, 10} * 2 = DA * 2
An array can contain a maximum of 8189 elements.
Referencing Arrays
There are several ways to refer to arrays and to their elements as
shown below.
V The whole array Where V is {2, 4, 6, 8, 10}
V[x] Element x of array V V[4] would be {8}
V[x:y] Elements x to y of V V[2:4] would be {4, 6, 8}
V[-x] V with elements shifted ahead by x units. The valid range is also
adjusted to match the shifted elements V[-1] would be {?, 2, 4, 6, 8, 10}
V[+x] V with elements shifted back x units. Elements shifted before x are
discarded. V[+1] would be {4, 6, 8, 10}
The size of an array is the total number of elements it contains. In
the example above V's size is 5 elements. Arrays also have valid
ranges and they do not have to be defined starting with index 1. In
our example the valid range of V[-1] is [2:6]. Index [1] of this
array is undefined.
Array Calculations
All of Parity's operators and most of its predefined functions and
indicators work on arrays. The careful use of array shifting can
permit you to create very powerful formulas using Parity. For example
to calculate the percent change of today's closing price versus two
days ago you could use the formula:
( (C - C[-2]) / C[-2] ) * 100
Or, to calculate the difference between a 14 day simple moving average
and the closing price:
C - MOV(C, 14, "S")
Generally Parity is able to automatically compensate for the changes
in size and valid range that occur in array calculations. However it
is conceivable that you might create a formula which tries to perform
an operation on two arrays that don't have overlapping valid ranges
and have different sizes. In that case Parity will give you an error
message when you try to execute the formula.
Predefined Variables
Whenever Parity loads price data for a security it creates a number of
predefined array variables that can be used in your formulas. These
variables include:
H Array of High Prices
L Array of Low Prices
C Array of Closing Prices
V Array of Trading Volume
If the data file which is loaded includes open and open interest data
Parity will also create these additional variables:
O Array of Opening Prices
OI Array of Open Interest
Each element of these predefined variables contains data from the
corresponding record in the data range that was loaded. The first
element is always the oldest record and the last element is the most
recent record loaded.
Predefined Variables for the First Security in a Group
Parity also stores the price data for the first security in a group in
a special set of predefined variables. This lets you create formulas
that perform spread or relative strength calculations. These special
variables include:
FH Array of High Prices of First Security in a Group
FL Array of Low Prices of First Security in a Group
FC Array of Closing Prices of First Security in a Group
FV Array of Trading Volume of First Security in a Group
FO Array of Opening Prices of First Security in a Group
FOI Array of Open Interest of First Security in a Group
If the date range of the first security in a group is different from
subsequent securities in a group, the use of these special variables
will be misleading at best.
The ChartFirstSecurity(type of chart) chart procedure can be used to
plot a line, bar, or candlestick chart of the first security in any
pane of a chart.
If you Load a Security before you select a current group these Fx
variables will be identical to the predefined variables for that
security. However, if the Fx variables are already defined they will
not be overwritten, except when you select a new group. This prevents
"Undefined Variable" errors and gives you maximum flexibility in
designing your studies.
The Fx variables are extremely useful for charting spreads and
relative strength comparisions. Typically the first security in a
group would be an index like the S+P 500 or the leading company in an
industry. You could then use a formula like
C - FC
to plot a spread or
(C-C[1])/(FC - FC[1])
to plot relative strength.
Importing User Defined Variables
Parity gives you the unique ability to import user defined variables
using the Import Other Formats command. These user defined variables
will persist for the duration of your session with Parity and can be
used just like predefined variables. Note that Parity provides no
error or range checking for user defined variables. There is a
special syntax which can make user defined variables more useful to
you. Let say you imported a variable called NYSEADVANCE which has 800
data elements. The data you are charting includes 101 data elements.
Assuming the date of the last element of NYSEADVANCE is the same as
the last day of your price data you could use the following command to
include NYSEADVANCE in a formula correctly:
NYSEADVANCE[EndValid(NYSEADVANCE) - 100 : EndValid(NYSEADVANCE)]
To actually chart NYSEADVANCE you might also need to adjust its valid
range by appending
[ + (EndValid(NYSEADVANCE) - 100) ]
To the formula above. Obviously user defined variables are a
powerful AND complex feature. You will need to experiment to become
familiar with this capability. Please see the sections on Arrays
versus Scalars, and Array Related Functions for more information on
the use of the [ ] array operator and the StartValid and EndValid
functions.
Operators, Parenthesis and Mathematical Precedence
Formulas in Parity follow the normal conventions for the use of
parenthesis and precedence to control the order in which mathematical
operations are performed. Parity also supports the normal
mathematical operators available in most BASIC dialects including (in
order of precedence):
( ) Parentheses
[ ] Array Brackets
^ Exponentiation
- (unary minus) Unary Minus
* / Multiplication and Division
\ Truncated Division
Mod Modulus
+ - Addition and Subtraction
= <> > < >= <= Comparison
Not Logical Negation
And Logical And
Or Logical Or
Xor Logical Exclusive Or
Eqv Logical Equivalence
Imp Logical Implication
With some rather complicated exceptions these operators can be used
equally well with Scalar or Array values. The Logical Operators
consider a 0 value to be False and any non zero value to be True.
Using a Logical Operator on an array will return an array of ones and
zeros.
Arithmetic Operators
Parity permits you to use all of the standard arithmetic operators in
your formulas as shown below.
A + B Add B to A
A - B Subtract B from A
A * B Multiply A and B
A / B Divide A by B
A ^ B Compute AB
A Mod B Return the integer remainder of A / B
A \ B Truncated Division. Divide A by B and discard
digits to the right of the decimal place.
- A Negate A. This is a unary operator
Comparison Operators
The Comparison Operators compare two values which can be either an
array or a scalar. The comparison operators return 1 if the
comparison is true or 0 if it is false. Using a comparison operator
with an array will return an array of 1's and 0's for each element in
the array.
A < B If A is less than B the result is 1, and 0
otherwise.
A <= B If A is less than or equal to B the result is
1, and 0 otherwise.
A <> B If A is not equal to B the result is 1, and 0
otherwise.
A = B If A is equal to B the result is 1, and 0
otherwise.
A > B If A is greater than B the result is 1, and 0
otherwise.
A >= B If A is greater than or equal to B the result
is 1, and 0 otherwise.
Logical Operators
Logical Operators work on true and false values. Parity considers any
non-zero value to be true and 0 to be false. Logical Operators can be
combined with comparison operators and other values to form a logical
statement. Using Logical Operators with arrays will return an array
of 1's and 0's.
A AND B If A and B are both non-zero the result is 1.
Otherwise, the result is 0.
A OR B If A or B is non-zero the result is 1.
Otherwise, the result is 0.
A XOR B If A is non-zero and B is 0, or A is 0 and B is
non-zero, then the result is 1. Otherwise, the
result is 0.
NOT A If A is non-zero, the result is 0. If A is 0,
the result is 1
A EQV B If A and B are both non-zero, or A and B are
both 0, then the result is 1. Otherwise, the
result is 0.
A IMP B If A is 0 or B is non-zero, the result is 1.
Otherwise, the result is 0.
Trigonometric Functions
Parity supports the standard trigonometric and inverse trigonometric
functions. Angle measurements are in radians.
Degree measurements are converted to radians by multiplying by the
factor pi/180. The value of Pi can be obtained using ACos(-1).
Trigonometric functions will operate on either scalar or array values.
Cos(data) Computes the cosine of a value given in
radians.
Sin(data) Computes the sine of a value given in radians.
Tan(data) Computes the tangent of a value given in
radians.
ACos(data) Computes the arccosine of a value given in
radians.
ASin(data) Computes the arcsine of a value given in
radians.
ATn(data) Computes the arctangent of a value given in
radians.
ATan2(Xdata, Ydata) Computes the tangent of a line from the origin
to a point.
Exponential Functions
Parity includes a set of common exponential functions:
Exp(data) Computes ex
Exp10(data) Computes 10x
Log(data) Computes ln(x)
Log10(data) Computes log10(x)
Sqr(data) Computes x2
Sqrt(data) Computes the square root of a value.
The logarithm of a number for a base other than e or 10 is computed
with the following formula:
Logbx = Log(x) / Log(b)
The value of the constant e is calculated with the equation below:
e = Exp(1)
Rounding Functions
Rounding functions are used to adjust scalar or array data in a number
of ways.
Round(data) Returns the nearest integer to a value
Ceil(data) Returns the smallest integral number >= the
value.
Floor(data) Returns the largest integral number <= the
value.
Abs(data) Returns the absolute value of a number.
Sgn(data) Returns the signum function of a number, i.e. 1
for 6 and -1 for -6.
Bool(data) Converts a number to a Boolean. Either 1 for a
non- zero value or 0.
Array Related Functions
The Array Related Functions may operate on scalar parameters, though
generally they are only meaningful for array values. See the Arrays
versus Scalars section for a more general discussion of arrays.
StartValid(array) Returns a scalar which is the index number of
the first element of the array.
EndValid(array) Returns a scalar which is the index number of
the last element of the array.
RunTot(array) Creates an array containing a running total of
the input array.
Sum(array) Returns the sum of all the elements in an
array.
Product(array) Returns the product of all the elements in an
array.
Min(array) Returns the smallest value in an array.
Max(array) Returns the largest value in an array.
IF test THEN data1 ELSE data2 Returns data1 if test is true (non-
zero) or data2 if test is false (0). If test
is an array this evaluation is done element by
element and the corresponding element in data1
or data2 is returned. Arrays and scalars can
be mixed.
Statistical Functions
Parity provides you with a number of statistical functions which you
can use in the formulas you define.
StatNorm(data, min, max) Normalizes an array to a specified range.
The smallest element in the array will be
mapped to min and the largest will be mapped to
max with all intermediate values linearly
scaled.
StatPercent(data) Computes the sum of all the elements in data
and returns an array containing data divided by
the sum. Equivalent to data / Sum(data).
StatRegress(data) Computes a best fit least squares regression
line for data. The result is an array filled
with values representing the Y values of the
regression line.
Time Series Functions
The following functions perform an operation, such as computing an
average, involving an element of an array and the preceding N elements
where N is determined by the parameter lengths. Since lengths can be
either a scalar or an array of the same size as data, it is possible
for undefined values to occur in the middle of an array. For example
if element 4 of array lengths is 15. This would mean that the fourth
element was a function of the preceding 15 elements. In this case the
fourth element of the result, and all preceding elements, would be
undefined.
StatMovAvg(data, lengths) Determines the moving average of an
array. The ith element in the result will be
the average of the ith element and the
preceding N-1 elements, where N is the ith
element of lengths. If lengths is a scalar, N
is always equal to lengths.
StatMovMax(data, lengths) Determines the moving maximum of an
array.
StatMovMin(data, lengths) Determines the moving minimum of an
array.
StatMovTot(data, lengths) Determines the moving total of an
array.
Part 7 File Formats Supported
Parity directly supports 5 and 7 field MetaStock (and most CompuTrac)
data files, 7 field ChartPro/MegaTech data files, and a variety of
Comma Separated ASCII file formats. You can also import data from
Excel spreadsheets (3.0 or 2.1 formats but not 4.0), Lotus 123 WKS
spreadsheets (but not the WRK, WK1 or WK3 formats), and a variety of
tab and comma delimited formats (see Import Other Formats for more
details). The Parity Plus version of the program includes a very
flexible Data Conversion utility that can convert to and from all of
the above formats.
The MetaStock/CompuTrac Format
The MetaStock/CompuTrac format dates from the late 1970's and is
widely supported by most data vendors. The files use the
antiquated Microsoft Binary Format to store numbers and the data must
be converted to IEEE floating point format. This makes MetaStock
files slower to load. You can only have 255 MetaStock data files in a
single directory.
Parity supports 5 and 7 field MetaStock data files. The program does
not support MetaStock composite securities which are ignored. The
MetaStock file format is a subset of the original CompuTrac file
format. Most standard 5 and 7 field CompuTrac files should work with
Parity. The 6 field CompuTrac format is not supported.
ChartPro File Format
The ChartPro format was created by the developer of the ChartPro and
MegaTech charting programs. Although this file format isn't widely
supported by dedicated data vendors, there are a number of shareware
and quasi commercial programs available which can create and update
these files from daily quotes downloaded from general information
services like Prodigy, GEnie, and Dow Jones News/Retrieval. The most
popular of these programs appear to be PML, StockWatch 6.0, Pro$tock,
and PDL. The author's of all of these programs offer support on the
Money Talk BBS of the Prodigy service.
ChartPro format files consist of daily records that are each 26 bytes
long. The first two bytes are an integer value representing the date.
The next 24 bytes are 6 four-byte single precision IEEE floating point
fields for the open, high, low, close, volume and open interest in
that order. The first 2 records or 52 bytes are ignored by Parity for
compatibility with future versions of MegaTech. The date numbering of
ChartPro files is somewhat unusual. ChartPro assigns a value of 1 to
January 1, 1983. Add 1 for each subsequent day including weekends and
leap years. For periods prior to 1983 use negative numbers
subtracting 1 for each day of the year. In order to be recognized by
Parity, ChartPro format files must end with the .PRO extension.
Generally the first 8 letters of the file name are the security's
symbol.
Comma Separated ASCII Files
Parity directly supports a variety of different types of comma
separated or delimited ASCII text files. The advantages of this
format are that is can be imported or exported by almost every
spreadsheet and database program on the market and it is easily
maintained using any text editor. The primary disadvantage of this
format is that text files are a fairly bulky way of storing numeric
information.
Parity supports comma delimited files in the following formats:
date,close
date,close,volume
date,high,low,close
date,high,low,close,volume
date,open,high,low,close,volume
date,open,high,low,close,volume,open interest
Parity expects dates to be formatted as MM/DD/YY (leading zeros are
optional) or YYMMDD. The dates must not be enclosed in quotes. For
example 5/21/92 will be correctly imported while "5/21/92" will cause
an error. The price data must be in integer or decimal format. For
example 35 or 35.5 will work but 35 1/2 will not.
Each line of the text file represents a single date or record and each
line must end with a carriage return or carriage return and line feed.
The fields must be in the format and order shown above, and each field
is separated by a comma. Leading spaces are ignored. The file must
not contain any headers or extraneous text.
Parity automatically detects the number of fields in the file by
counting the number of commas in the first line of the file. If the
first line of the file is longer than 70 bytes or contains the
incorrect number of characters Parity will be unable to load the file.
Parity will automatically create the appropriate high, low, and volume
data arrays for files with less than 5 fields. These arrays will be
filled with zeros. Similarly, a 6 field file will cause Parity to
create an openinterest data array filled with zeros. If Parity
doesn't recognize the data in a field as a number it will set that
data element to zero.
Parity permits comma separated ASCII files to have any name or
extension. We suggest you use a standard convention when you name
your files.
Because Parity can only load 8100 data records and ASCII files have no
set record length, Parity will not load ASCII files that are larger
than 250 KB.
You can use Parity Plus' Data Conversion command to convert a number
of other ASCII formats to standard comma delimited ASCII files or any
of Parity's other supported file types.
Part 8 Odds and Ends
The odds and ends section includes information on printing, some known
problems with Parity and optimizing the program for speed.
Printing Charts
There are three ways you can print a chart.
1 Use File Print to print the a chart if it is the current window. A
window is current when the title bar of the window is blue. This
will print the chart as it is displayed. If the chart's window is
small then it will print a smaller chart than if the window is
large. A chart that has been maximized may not fit within the
margins of your printer. File Print provides the least control
over how the chart is printed.
2 Use the Print Tool. When you select the Print Tool from the Tool
Bar a dialog box will pop up asking if you would like to print the
chart "As Displayed", i.e., the way File Print does, or "Full
Size."
Full Size is the default and it will print your chart to fit the
size of the page. To print a chart just click anywhere within the
chart while the Print Tool is active. Parity also gives you the
option of including or excluding the title bar of the chart window
as the header for the print out. You would probably choose not to
print the title bar as the header if you had selected the Chart
Titles at Top format from the Options Editor.
3 Check the "Print Each Chart" option in the Select a Group dialog.
This prints a chart each time it is created. The chart will be
printed according to the same settings as the Print Tool.
Use File Printer Setup or the Printer Setup button on the Printer Tool
dialog to select the device to print to and adjust the orientation of
the page.
Printing Caveats
Windows prints slowly. Graphics print very slowly. Unfortunately
there is nothing we can do to improve Window's printing speeds.
However, Windows 3.1 prints much faster than Windows 3.0. A product
called SuperPrint from Zenographics claims to accelerate graphics
printing from Windows but we have never used it. However we
wholeheartedly recommend the WinJet 800 add on for LaserJet II and III
printers. The WinJet 800 costs roughly $700 by mail order and is
manufactured by LaserMaster.
How charts print depends on the printer driver you use. The Hewlett
Packard LaserJet drivers do a very poor job of translating colors.
For example, the LaserJet prints prints certain colors of some High,
Low Close bars as a dashed rather than a solid line. For the best
results, we recommend you only use black in charts you will be
printing on a LaserJet. Postscript printers try to show colors with
shading and the results are usually less than satisfactory. The Epson
printer driver is exceptional. Printing is fast and the printed graph
is very accurate.
If you have a Laser Printer you may run into problems with inadequate
memory to print full page charts. We are unable to print charts full
page using a LaserJet II with only 512 KB. With 1.5 MB, the LaserJet
II prints fine. The standard 1 MB of memory in the LaserJet III is
right on the border. Some charts will print, others won't. This is a
limitation of the printer, not Parity.
If you are using a high resolution printer you may find that
candlestick charts print the candles too thinly. You can use the
Chart Preferences command in the Options menu to increase the
thickness of the candlesticks.
Windows 3.0 System Resources
The following discussion of System Resources refers specifically to
Windows 3.0. Windows 3.1 usually doubles or triples the System
Resources that are available. We strongly recommend that you upgrade
to Windows 3.1.
System Resources or Program Resources refers to a 64K byte segment of
memory where Windows maintains the USER and GDI heaps which include
information on all the Windows applications that are currently
running. Regardless of the amount of memory you have installed,
Windows still includes this 64K constraint on the total System
Resources that are available to ALL the Windows applications that are
running.
Every window, icon, menu, bit map, and chart etc. consumes some
percentage of these System Resources. Selecting the Help About
command from the Program Manager will tell you what percentage of
System Resources is available at any given time. Note that running
the Program Manager or the Norton Desktop Utilities often consume as
much as 40% of total System Resources. Deleting unused icons and
program groups will free up these resources.
Because of the complexity of some of its dialog boxes Parity is also a
resource hog. With no charts displayed, but using the Create/Modify
Studies dialog, Parity consumes 30% of the System Resources. Each
chart Parity displays typically requires an additional 1.5-2% of these
System Resources.
Generally, you encounter a problem with System Resources when a large
number of charts are displayed and you then open the Create/Modify
Studies dialog box. You may also have a problem if you try to have
multiple Windows applications open at one time. Unfortunately,
Windows doesn't provide any particular error message for no more
resources. You will simply be unable to open a dialog box or create a
chart. The more you try the worse it gets since partially created
charts and dialog boxes will continue to take up more and more memory.
We suggest you save all your studies, groups, batches and clusters and
restart Parity.
On occasion, System Resources will be so low that Windows, and
therefore Parity, will start to crash. If this happens you may need
to do a CTRL-ALT-F2, which will wipe all of Parity's charts and
variables from memory. If you do this you will lose any unsaved
studies, groups and clusters and you will need to restart Parity.
System Requirements and Execution Speed
Minimum System Requirements
Parity requires Windows 3.x set in VGA or higher display mode, running
on an 80286/80386/80486 IBM compatible computer with at least 2 MB of
memory and 1 MB of free disk space. Parity will perform best on a
80486 DX or a 33 MHz 80386 DX computer equipped with a math
coprocessor and 8 MB of memory. Parity takes full advantage of high
resolution displays and 17 or 20 inch monitors. Parity is compatible
with OS/2 2.0 when it is run as a Windows application
Maximizing Execution Speed
While every effort has been made to optimize Parity's execution speed
there are inevitably two factors that make it (and every other Windows
application) slow compared to their DOS equivalents. The first is the
processing overhead required by Windows' multitasking operating
system. Secondly, Parity is graphically processor intensive. This
also consumes significant CPU cycles.
Finally, Parity performs calculations on large data arrays. Each time
you create a chart is equivalent to recalculating a large spreadsheet
filled with formulas.
What to do?
The first thing is that Parity is not intended to run on 80286 or 16
MHz 80386 computers. If that is your hardware configuration nothing
we suggest is likely to make Parity perform adequately. If you do
have adequate hardware and would like Parity to perform faster here
are a few suggestions in order of their importance.
1 Upgrade to Windows 3.1 if you are using Windows 3.0. Windows 3.1
runs Parity noticeably faster and provides faster printing and
greater System Resources.
2 Install a Math Coprocessor. Unlike most programs Parity makes full
use of a Math Coprocessor when it calculates the result of a
formula or loads a data file. A math coprocessor will increase the
speed of these operations , which can involve tens of thousands of
floating point calculations, 3-5 fold. Best of all, math
coprocessors are cheap and easy to install.
3 Make sure you have at least 4 MB of available memory on your
computer, i.e. memory not devoted to disk caches etc. Studies have
shown that 8 MB is the optimal memory configuration for Windows 3.x
from a speed standpoint.
4 If screen redraws are a problem buy a new graphics card with an
accelerator or coprocessor chip optimized for Windows. These cards
cost $300 to $500 and have display resolutions up to 1280x1024
pixels.
5 Upgrade your motherboard. This is technically more challenging but
an excellent AMI Baby Voyager 80486 motherboard can be purchased by
Mail Order for about $1100 dollars. Based on our own experiences,
we do not advise you to buy off-brand motherboards. We do not
recommend 80386 SX or 80486 SX computers.
6 The best enhancement we ever made to our computers was to go to 17"
flat screen 1024x768 non-interlaced monitors. This won't enhance
the speed of Parity at all but we guarantee you will find a whole
new pleasure in running any Windows program.
7 Parity is relatively insensitive to your hard disk speed but, if
you don't have a disk cache installed, we strongly recommend that
you install the SmartDrive cache that comes with Windows 3.x and
DOS 5.0 or buy Super PC-Kwik 4.13 from MultiSoft.
Problems and Solutions
Although Parity is as bug free as possible, there are a few things
that may cause problems. In particular, Parity performs no error
checking on the formulas in a study before it attempts to chart a
study. This causes two problems if you make an error in a formula.
The Hour Glass Cursor
If a study has an invalid formula, Parity gives an error message when
it attempts to chart the study. In most cases, Parity will not have
reset the Hour Glass Cursor for the mouse. When the Hour Glass Cursor
is set, all commands and mouse clicks are disabled. To reset the
cursor hit the up arrow key on your keyboard.
Incomplete Charts and System Resources
When Parity encounters an error in a study, it has already begun
constructing a chart, but is stopped before the chart can be
displayed. It is not possible to close this chart and free up the
System Resources it consumes. Since each chart only consumes 1.5-2%
of the System Resources this isn't a problem in and of itself.
However, if you have created a large number of partial undisplayed
charts, you may find your self running out of resources. The only
solution is to exit Parity (and possibly Windows) and restart.
Remember to save any studies, groups, clusters and batches you may
have created or modified.
Other Problems
If you attempt to display a cluster created for a higher resolution
display the effects will be unpredictable. In many cases the Tool Bar
will be locked onto a new screen position. This can also happen if
you move a chart partially off the "desktop" and then use the scroll
bars to view it and the perform a Window Cascade or Tile command. In
either case you should simply recreate the tool bar using the commands
on the Options Menu.
Also, note that a maximized chart is restored to its previous size
when you open a dialog box or display another chart. If the Tool Bar
is hidden behind a maximized chart, use the Window Menu to select the
"TBar" window.
Appendix
Data Vendors
Version 1.3 of Parity does not include any utilities for collecting
price data or automatically updating data files. If you are upgrading
to Parity from another technical analysis program you should continue
to use whatever data collection and file maintenance utilities you are
comfortable with. If your price data is not in the
MetaStock/CompuTrac, ChartPro/MegaTech, or comma delimited ASCII
formats Parity supports please contact us. If you are able to provide
sufficient information on the file format you are currently using we
may choose to include file compatibility with your data format in a
future version of Parity.
If you do not own any utilities for collecting and maintaining price
data you have several alternatives. You can manually maintain price
data files in Excel, Lotus 123 WKS, comma separated value (CSV) or tab
separated value files and use Parity's Import Other Formats command to
chart the data in these files. However, you will not be able to
include these files in a Group and using Parity will generally be more
cumbersome than if your data is in one of the supported formats.
A number of third party utilities exist which can create or maintain
price data files in MetaStock or ChartPro formats. One of the best
general purpose tools is the Personal Ticker Tape (PTT). PTT is a
shareware program which can convert ASCII text files into MetaStock
data files. PTT will also update and maintain your existing data
files from data downloaded from on-line services like CompuServe,
Genie, Prodigy, and Dow Jones News/Retrieval. The latest version of
PTT can be downloaded from the FlexSoft BBS at (510) 829-2293. The
cost of registering the software is $30. ParTech Software Systems
will also provide PTT on a diskette for a $5 shipping and handling
fee. We cannot provide any support for using PTT.
Most of the Price Data Vendors listed below also offer software which can
be used to access their data service and download price data into
MetaStock data files. Each vendor's service is different and we suggest
you contact them directly for information on the capabilities and current
pricing of their products. General Information Services
CompuServe, Inc.
P.O. Box 20212
5000 Arlington Centre Blvd.
Columbus, OH 43220
(800) 848-8199
(614) 457-8650
GEnie
401 North Washington Street
Rockville, MD 20850
(800) 638-9636
Current quotes only.
Prodigy Service Company
P.O. Box 791
White Plains, NY 10601
(800) 284-5933
Current quotes only.
Dow Jones News/Retrieval
P.O. Box 300
Princeton, NJ 08543
(609) 452-1511
Price Data Vendors
Commodity Systems, Inc. (CSI)
200 W. Palmetto Park Road
Boca Raton, FL 33432
(800) 327-0715
(407) 392-8663
Commodity and stock data. Relatively expensive but comprehensive and
high quality.
Genesis Financial Data Services
P.O. Box 49578
Colorado Springs, CO 80949
(719) 260-6111
Stock Data Corp.
905 Bywater Road
Annapolis, MD 21401
(410) 280-5533
Only Stock Data. Weekly diskette or daily updating for the entire
stock market.
Technical Tools
334 State Street, Suite 201
Los Altos, CA 94022
(800) 231-8005
(415) 948-6124
Commodity and stock data.
Tick Data, Inc.
720 Kipling Street, Suite 115
Lakewood, CO 80215
(800) 822-8425
(303) 232-3701
Mostly commodity data. Data Base includes tick data for every trade.
Worden Brothers
4905 Pine Cone Drive, # 10-12
Durham, NC 27707
(800) 776-4940
Relatively inexpensive but won't directly update files. Use PTT.
Other Resources
An excellent source of information on technical analysis is the
magazine, Technical Analysis of Stocks & Commodities. TASC can be
difficult to find on a newstand but you can get a sample copy by
calling 1-(800) 832-4642.
The Traders Press offers a comprehensive catalog of books on the Stock
Market and Technical Analysis. You can reach them at 1-(800) 927-8222
or at 1-(803) 298-0222.
The Farpoint BBS offers a free source of historical stock data. Call
1-(312) 274-6128 to log on. Farpoint gives you 120 minutes of free
time daily. They have historical data files on hundreds of stocks and
you can use PML to convert Farpoint's ASCII data files to the
MetaStock format.
The Market Technicians Association BBS is an excellent source of
advanced technical analysis information and discussion. Log on at 1-
(914) 478-7311. Other good on-line sources for information and
discussion on investing include the INVFORUM on CompuServe and Money
Talk on Prodigy.